【问题标题】:How to exclude JUnit as transitive dependency in Gradle如何在 Gradle 中排除 JUnit 作为传递依赖
【发布时间】:2021-04-11 04:55:25
【问题描述】:

我注意到我在 build.gradle 文件中对 junit:junit-dep:4.11 有不必要的传递依赖:

+--- com.myprojectabc-cmis:0.3.1
|    \--- org.alfresco.cmis.client:alfresco-opencmis-extension:1.1
|         \--- junit:junit-dep:4.11
|              \--- junit:junit:4.11
|                   \--- org.hamcrest:hamcrest-core:1.3

这个 JUnit 依赖是一个潜在的冲突源,因为我通常在我的项目中使用 4.12 版本。此外,我不希望在我的业务逻辑中存在 JUnit 依赖项。所以它需要是excluded。作为一个 gradle 新手,我很难找到解决方案。我已经阅读了文档,还研究了thisthis,但仍然无法找到正确的方法。我也试过这个:

compile('com.myprojectabc-cmis:0.3.1') {
 exclude group: 'junit', module: 'junit:4.11' 
}

还有这个:

compile('com.myprojectabc-cmis:0.3.1') {
   exclude group: 'junit', module: 'junit-dep:4.11' 
}

当我进行此更改时,Gradle 加载没有问题。但是在依赖树中我仍然看到依赖。所以显然它不起作用。有什么想法吗?

【问题讨论】:

  • 我已经读过了,伙计。没有帮助。谢谢。
  • 请显示您的 Gradle 文件的相关部分。不太可能(但并非不可能)存在运行时 junit 依赖项,但会看到您如何明确地执行排除操作。如果您正在创建一个工件,您还可以在该工件内进行检查。
  • 好的,我编辑了代码。

标签: java gradle junit dependencies


【解决方案1】:

好的,答案比我想象的要容易:

        exclude group: 'junit', module: 'junit-dep'

【讨论】:

    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2015-05-15
    • 2012-12-05
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多