我是gradle的新手并且获得了一个包含大量依赖项的巨大项目。
但是,我构建了一个我想要使用的特定jar而不是依赖jar的jar 在build.gradle中,我有共同的依赖:
“com.company.was.common.utils:是-共utils的:$ {wasUtilsCommonVersion}”,
我需要更改的依赖关系如下:
+--- com.company.was.utils.secure.storage:was-utils-secure-storage:17.8.1
| | +--- com.company.security.logging:security-logging:16.11.0 (*)
| | +--- com.company.was.security.encrypt:was-security-encrypt:17.8.1
| | | +--- commons-io:commons-io:2.5
| | | +--- commons-codec:commons-codec:1.10
| | | +--- com.company.security.logging:security-logging:16.11.0 (*)
| | | +--- com.company.was.common.utils:was-common-utils:17.7.0 -> 17.2.0
如何强制gradle使用我构建的jar而不是
com.company.was.utils.secure.storage:was-utils-secure-storage:17.8.1?
jar的路径是
/Users/anarinsky/eclipse-workspace/was-utils-storage-java/build/libs/was-utils-storage-java-SNAPSHOT.jar
答案 0 :(得分:1)
在Gradle中,添加依赖项的顺序将指示将添加的最终jar,这意味着如果你添加两个版本的x.jar Gradle没有采用新版本甚至运行它背后的任何逻辑,它将只需逐个添加它们,因为它们具有相同的名称,最后一个将覆盖前一个。 在您的情况下,只需添加您最后创建的那个。
答案 1 :(得分:0)
您可以使用DependencyHandler来定义将要使用的内容,这将被忽略。 示例:
dependencies {
compile('org.hibernate:hibernate:3.1') {
//in case of versions conflict '3.1' version of hibernate wins:
force = true
//excluding a particular transitive dependency:
exclude module: 'cglib' //by artifact name
exclude group: 'org.jmock' //by group
exclude group: 'org.unwanted', module: 'iAmBuggy' //by both name and group
//disabling all transitive dependencies of this dependency
transitive = false
}
}