无法从gradle 8中的另一个依赖项中排除依赖项

pod7payv  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(146)

我收到这个错误:
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。我在这里错过了什么?

fcwjkofz

fcwjkofz1#

您应该将exclude从junit依赖项移动到spring-boot依赖项,因为这是传递引入slf 4j的依赖项。

testImplementation('org.springframework.boot:spring-boot-starter-test:3.2.1') {
    exclude group: 'org.slf4j'
}

testImplementation('org.mock-server:mockserver-junit-jupiter-no-dependencies:5.15.0')

字符串
(took在spring-boot依赖项中添加版本号以使其为我工作的自由)
你可以使用dependencyInsight任务来找出依赖项的来源。在本例中,我使用了./gradlew dependencyInsight --configuration testRuntimeClasspath --dependency org.slf4j:slf4j,它告诉我spring-boot依赖项是添加slf 4j的依赖项。

yxyvkwin

yxyvkwin2#

在你的gradle.build文件中尝试使用这个全局排除来测试root配置标签,如下所示:

configurations {
  testImplementation {
    exclude group: 'org.slf4j'
  }
}

字符串
希望能对你有所帮助

相关问题