Je pense qu'un module de spring-boot-starter-security est en conflit avec log4j, mais je ne sais pas lequel.
ma dépendance gradle est la suivante:
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")
j'ai découvert
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"
}
Même solution pour 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>
Utilisation de IDEA "Afficher les dépendances" ou mvn dependency:tree -Dverbose
pour trouver tous les fichiers jar logback-classic et les exclure.
Pour moi, ce problème est apparu uniquement lors de l'exécution du plugin maven-surefire. En quelque sorte Logback est là sur le chemin d'accès aux classes, même s'il n'est pas ajouté aux dépendances du projet. J'ai ajouté un tel correctif:
<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>
Vous pouvez aussi utiliser
mvn clean install -Dorg.springframework.boot.logging.LoggingSystem=org.springframework.boot.logging.log4j2.Log4J2LoggingSystem