首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当spring集成依赖项添加到项目中时,LocationAwareLogger异常

当spring集成依赖项添加到项目中时,LocationAwareLogger异常
EN

Stack Overflow用户
提问于 2014-07-14 15:56:32
回答 1查看 288关注 0票数 1

当我包括spring-batch-integrationspring-integration-filespring-integration-sftp时,它会导致LocationAwareLogger异常。当我移除它的时候,一切都很好。而且,在Maven项目中拥有这些精确的依赖关系对我来说也很好。

代码语言:javascript
复制
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
    at org.apache.commons.configuration.ConfigurationUtils.locate(ConfigurationUtils.java:523)
    at org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:213)
    at org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:197)
    at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:142)
    at org.apache.commons.configuration.PropertiesConfiguration.<init>(PropertiesConfiguration.java:237) `spring-integration-sftp`
    at com.example.Main.main(Main.java:27)

这是在这一行的错误:

代码语言:javascript
复制
final AbstractApplicationContext context = new ClassPathXmlApplicationContext(
                        "classpath:spring/batch/config/context.xml",
                        "classpath:spring/batch/config/spring-batch.xml",
                        "classpath:spring/batch/config/spring-integration.xml");

我的依赖关系是:

代码语言:javascript
复制
versions += [

        mavenWagonHttp: "2.2",
        kohlsCodingStandards: "2.0.15",
        log4j:"1.2.16",
        spring:"3.2.2.RELEASE",
        springBatch:"2.2.0.RELEASE",
        springBatchIntegration:"1.2.2.RELEASE",
        springIntegrationFile:"2.1.0.RELEASE",
        springIntegrationSFTP:"2.1.0.RELEASE",
        mysqlDriver:"5.1.25",
        junit:"4.11",
        commonsConfiguration:"1.6",
        apacheCommonsLang3:"3.3.2",
        slf4jLog4j12:"1.5.6"
]

libs += [
        mavenWagonHttp: "org.apache.maven.wagon:wagon-http:$versions.mavenWagonHttp",
        kohlsCodingStandards: "com.kohls.services:services-coding-standards:$versions.kohlsCodingStandards",
        log4j:"log4j:log4j:$versions.log4j",
        spring:"org.springframework:spring-core:$versions.spring",
        springBatch:"org.springframework.batch:spring-batch-core:$versions.springBatch",
        springBatchInfrastructure:"org.springframework.batch:spring-batch-infrastructure:$versions.springBatch",
        springBatchIntegration:"org.springframework.batch:spring-batch-integration:$versions.springBatchIntegration",
        springIntegrationFile:"org.springframework.integration:spring-integration-file:$versions.springIntegrationFile",
        springIntegrationSFTP:"org.springframework.integration:spring-integration-sftp:$versions.springIntegrationSFTP",
        springBatchTest:"org.springframework.batch:spring-batch-test:$versions.springBatch",
        junit:"junit:junit:$versions.junit",
        log4j:"log4j:log4j:$versions.log4j",
        commonsConfiguration:"commons-configuration:commons-configuration:$versions.commonsConfiguration",
        apacheCommonsLang3:"org.apache.commons:commons-lang3:$versions.apacheCommonsLang3",
        slf4jLog4j12:"org.slf4j:slf4j-log4j12:$versions.slf4jLog4j12"
]

dependencies {
    compile([
            libs.mavenWagonHttp,
            libs.kohlsCodingStandards,
            libs.log4j,
            libs.spring,
            libs.springBatch,
            libs.springBatchInfrastructure,
            libs.springBatchIntegration,
            libs.springIntegrationFile,
            libs.springIntegrationSFTP,
            libs.springBatchTest,
            libs.junit,
            libs.commonsConfiguration,
            libs.apacheCommonsLang3,
            libs.slf4jLog4j12
    ])
    compile fileTree(dir: 'lib', include: ['*.jar'])
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-14 18:05:00

所以这就是我想出来的。我强迫slf4j使用1.5.8版本,它看起来很有效。如果有别的办法,让我知道,否则我会在明天之前把它标记为最好的答案。

我把这个添加到build.gradle

代码语言:javascript
复制
configurations.all {
    resolutionStrategy {
        force 'org.slf4j:slf4j-log4j12:1.5.8','org.slf4j:slf4j-api:1.5.8'
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24740691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档