如何在 Gradle 中将 JUnit 排除为传递依赖
How to exclude JUnit as transitive dependency in Gradle
我注意到我的 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 新手,我很难找到解决方案。我已经阅读了文档并查看了 this and this,但仍然无法找到正确的方法。我也试过这个:
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 加载没有问题。但是在依赖关系树中我仍然看到了依赖关系。所以很明显这是行不通的。有什么想法吗?
好的,答案比我想象的要简单:
exclude group: 'junit', module: 'junit-dep'
我注意到我的 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 新手,我很难找到解决方案。我已经阅读了文档并查看了 this and this,但仍然无法找到正确的方法。我也试过这个:
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 加载没有问题。但是在依赖关系树中我仍然看到了依赖关系。所以很明显这是行不通的。有什么想法吗?
好的,答案比我想象的要简单:
exclude group: 'junit', module: 'junit-dep'