当前位置: 首页 > 知识库问答 >
问题:

删除gradle中的可传递类路径依赖项

仲孙文乐
2023-03-14

我们正在使用Gradle运行一个spring-boot应用程序。

buildscript {
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.2.RELEASE") 
    }
}

已经通过添加以下内容进行了尝试:

  dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.2.RELEASE") {
            exclude group: 'org.apache.logging.log4j'
        }
    }

这不起作用。

还增加:

configurations {
    classpath.exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl'
}

共有1个答案

汤昊
2023-03-14

如果你想排除

org.apache.logging.log4j:log4j-slf4j-impl:2.4.1

试试看

dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.2.RELEASE") {
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl'
    }
}
 类似资料:
  • 我在构建项目时收到以下错误: 据我所知,这是因为我有多个依赖于slf4j的库。我的构建中的依赖项。gradle文件是: 我知道logback-android-经典依赖是个问题,因为它确实依赖于slf4j,如果我把它注释掉,我的项目构建很好。根据其他消息来源,我发现这通常通过排除传递依赖来解决,如下所示: 然而,即使在我清理和重建后,我仍然得到了错误。 更新:运行dependencyInsight查

  • 我刚刚将我的项目升级到gradle 7,并且遇到了缺失的可传递依赖项。我试着改变我的身材。gradle文件在依赖项中使用“api”,但这并没有修复它。 projectA依赖于projectB,projectB依赖于projectC。 projectA-build。格拉德尔 projectB-构建。格拉德尔 ProjectA编译良好,但有运行时错误-从project ectC获取类的ClassNot

  • 给予 这在gradle 1.3中无法正常工作。(即,子项目包含所有依赖项) 这是一个bug还是有不同的语法来排除项目依赖关系?

  • 我在build.gradle文件中添加了下面的依赖项。Eclipse插件是在build.gradle中添加的。 一旦我运行gradle eclipse命令,所有的compile依赖项都会添加到类路径中,但是testcompile依赖项不会添加到类路径中。

  • 我试图用JUnit和SLF4J测试来测试记录器的行为,这是“SLF4J的一个测试实现,它将日志消息存储在内存中,并提供检索它们的方法”。 我有一些将SLF4J作为传递依赖项的依赖项。我试图将SLF4J从我的测试配置中的所有依赖项中排除,但我仍然需要它来进行SLF4J测试。 我可以通过下面的代码将SLF4J排除在所有内容之外,但这显然也将它排除在我需要的SLF4J测试之外。 由于SLF4J是我的许多

  • 一个项目在Google App Engine上运行。该项目具有依赖项,该依赖项使用的类由于安全限制而无法在应用程序引擎上调用(它不在白名单上)。我(非常有黑客感)的解决方案是将该类的修改版本复制到我的项目中(匹配原始类的名称和包),而不需要受限类。这在dev和live上都适用,我假设是因为我的源代码出现在外部依赖项之前的类路径中。 为了让它更干净一些,我决定将该类的修改版本放入它自己的项目中,该项