[英]How to force Gradle to use a specific jar?
我是gradle的新手,並且得到了一個包含很多依賴項的龐大項目。
但是,我構建了要使用的特定jar,而不是依賴項中的jar。
在build.gradle中,我具有對common的依賴:
“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?
罐子的路徑是
/Users/anarinsky/eclipse-workspace/was-utils-storage-java/build/libs/was-utils-storage-java-SNAPSHOT.jar
在Gradle中,添加依賴項的順序將決定要添加的最終jar,這意味着如果您添加x.jar的兩個版本,Gradle不會采用新版本,甚至不運行任何邏輯,它只會通過以下方式添加它們:一個,並且由於它們具有相同的名稱,因此最后一個將覆蓋前一個。 就您而言,只需添加您最后創建的那個即可。
您可以使用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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.