web-dev-qa-db-ja.com

LoggerFactoryはLogback LoggerContextではありませんが、Logbackはクラスパス上にあります

Spring-boot-starter-securityの一部のモジュールがlog4jと競合していると思いますが、どのモジュールかわかりません。

私のgradle依存は次のとおりです:

compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-starter-security"){
    exclude module: "spring-boot-starter-logging"
}

compile "org.Apache.logging.log4j:log4j-api"
compile "org.Apache.logging.log4j:log4j-core"
compile "org.Apache.logging.log4j:log4j-slf4j-impl"
compile('org.Apache.poi:poi:3.10.1')
compile('org.Apache.poi:poi-ooxml:3.10.1')
testCompile("junit:junit")
16
newbie

わかった

compile("org.springframework.boot:spring-boot-starter-security"){
    exclude module: "spring-boot-starter-logging"
    exclude module: "logback-classic"
}
compile("org.springframework.boot:spring-boot-starter-thymeleaf"){
    exclude module: "logback-classic"
}
11
newbie

Mavenの同じソリューション:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>1.5.1.RELEASE</version>
    <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
    </exclusions>
</dependency>
15
ufukomer

IDEA "依存関係の表示"またはmvn dependency:tree -Dverboseすべてのlogback-classic jarファイルを検索して除外します。

4
Robin Wang

私にとって、この問題はmaven-surefire-pluginの実行中にのみ発生しました。どういうわけか、プロジェクトの依存関係に追加されていない場合でも、Logbackはクラスパス上にあります。私はそのような修正を追加しました:

<plugin>
     <groupId>org.Apache.maven.plugins</groupId>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>${maven-surefire-plugin.version}</version>
     <configuration>
        <systemPropertyVariables>
            <org.springframework.boot.logging.LoggingSystem>
                org.springframework.boot.logging.log4j2.Log4J2LoggingSystem
            </org.springframework.boot.logging.LoggingSystem>
        </systemPropertyVariables>
    </configuration>
</plugin>

あなたも使うことができます

mvn clean install -Dorg.springframework.boot.logging.LoggingSystem=org.springframework.boot.logging.log4j2.Log4J2LoggingSystem
0
michals