我收到这个错误:
LoggerFactory不是Logback LoggerContext,但Logback位于类路径上。(org.slf4j.jul.JDK14LoggerFactory类从文件加载:/C:/Users/casi2/.gradle/caches/modules-2/files-2.1/org.mock-server/mockserver-junit-jupiter-no-dependencies/5.15.0/40fd1649b4faff31363e100994bcb0ece8ead3cc/mockserver-junit-jupiter-no-dependencies-5.15.0.jar)。如果使用的是@f4j ' to prefer-application-packages in WEB-INF/weblogic.xml:org.slf4j.jul.JDK14LoggerFactory java.lang.IllegalArgumentException:LoggerFactory不是Logback LoggerContext,但Logback位于类路径上。(org.slf4j.jul.JDK14LoggerFactory类从文件加载:/C:服务器/用户/casi 2/. gradle/caches/modules-2/files-2.1/org. mock-server/mockserver-junit-jupiter-no-dependencies/5.1 5.0/40 fd 1649 b4 faff 31363 e100994 bcb 0 ece 8 ead 3cc/mockserver-junit-jupiter-no-dependen cies-5.15.0.jar)。如果您使用的是MySQL,则需要将“org.slf4j”添加到WEB-INF/weblogic.xml中的prefer-application-packages中:org.slf4j.jul.JDK 14 LoggerFactory
在这个gradle.build
文件中,我试图从测试中删除org.slf4j
依赖项:
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation ('org.mock-server:mockserver-junit-jupiter-no-dependencies:5.15.0') {
exclude group: 'org.slf4j'
}
字符串
但没有效果。我发现的大多数帖子都是旧版本的gradle。我在这里错过了什么?
2条答案
按热度按时间fcwjkofz1#
您应该将exclude从junit依赖项移动到spring-boot依赖项,因为这是传递引入slf 4j的依赖项。
字符串
(took在spring-boot依赖项中添加版本号以使其为我工作的自由)
你可以使用dependencyInsight任务来找出依赖项的来源。在本例中,我使用了
./gradlew dependencyInsight --configuration testRuntimeClasspath --dependency org.slf4j:slf4j
,它告诉我spring-boot依赖项是添加slf 4j的依赖项。yxyvkwin2#
在你的
gradle.build
文件中尝试使用这个全局排除来测试root配置标签,如下所示:字符串
希望能对你有所帮助