Java 如何强制Gradle使用特定的罐子?

Java 如何强制Gradle使用特定的罐子?,java,gradle,Java,Gradle,我是gradle的新手,有一个很大的项目,有很多依赖性 但是,我构建了一个特定的jar,我想用它来代替依赖项中的jar。 在build.gradle中,我依赖于common: “com.company.was.common.utils:was common utils:${wasUtilsCommonVersion}” 我需要更改的依赖项如下所示: +--- com.company.was.utils.secure.storage:was-utils-secure-storage:17.8.1

我是gradle的新手,有一个很大的项目,有很多依赖性

但是,我构建了一个特定的jar,我想用它来代替依赖项中的jar。
在build.gradle中,我依赖于common:

“com.company.was.common.utils:was common 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

在Gradle中,添加依赖项的顺序将决定要添加的最终jar,这意味着如果您添加两个版本的x.jar Gradle不使用新版本,甚至不运行任何逻辑,它将一个接一个地添加它们,因为它们具有相同的名称,最后一个版本将覆盖前一个版本。 在您的情况下,只需添加您上次创建的一个。

您可以使用来定义将使用哪些,哪些将被忽略。 例如:

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
  }
}

好吧,这一次你不能直接将依赖项添加到依赖项中。必须使用Gradle将jar添加为依赖项。请参阅@Zoe,如何声明此本地jar覆盖依赖项com.company.was.utils.secure.storage:was-utils-secure-storage:17.8.1?如果要覆盖依赖项,只需删除它。如果对同一事物有两个依赖项,则会出现zip合并错误。把电话线拔下来。编辑:没关系,格式极差的表格(现在格式和可读性都很差)改变了问题的全部含义。如果您想覆盖作为依赖项一部分的特定包/依赖项,这是一个完全不同的主题是的,我想覆盖作为依赖项一部分的特定依赖项