Gradle更喜欢重复条目上的存储库

Gradle更喜欢重复条目上的存储库,gradle,Gradle,我有一个将版本绑定到SCM的构建工具。当我在本地构建jar时,我无法设置它的版本。如果有人改变我在本地的工作,它会推送版本号(我可以得到),但当我发布到本地回购(常春藤)时,Gradle似乎更喜欢外部回购 build.gradle repositories { mavenCentral() ivy { url "${System.properties['user.home']}/.ivy2/local/" layout "pattern", {

我有一个将版本绑定到SCM的构建工具。当我在本地构建jar时,我无法设置它的版本。如果有人改变我在本地的工作,它会推送版本号(我可以得到),但当我发布到本地回购(常春藤)时,Gradle似乎更喜欢外部回购

build.gradle

repositories {
    mavenCentral()

    ivy {
        url "${System.properties['user.home']}/.ivy2/local/"
        layout "pattern", {
            artifact "[organization]/[module]/[revision]/[artifact](-[classifier]).[ext]"
            ivy "[organization]/[module]/[revision]/ivy.xml"
        }
    }

    ivy {
        url "https://repo/"
        layout "pattern", {
            artifact myPattern
            ivy myIvyPattern
        }
    }
}
不改变我正在编辑的jar的构建。我怎么能让gradle总是喜欢本地回购?我觉得
解决方案策略
可能是最好的方法,但我不知道如何做到这一点

编辑1

为了帮助澄清,Artifactory有一个jar(由jenkins发布),版本为1.2.3。我有一个本地构建的jar,它以1.2.3的形式保存到本地存储库中。当我构建一个项目时,在我的存储库闭包中有两个存储库(我的本地存储库位于顶部),Gradle似乎从Artifactory中提取了一个

编辑2

依赖项定义

dependencies {
    compile ('company:project:1.2.+')
}

我真的不明白你在说什么,但Gradle会按声明的顺序搜索存储库,并选择它找到的第一个匹配模块(至少在使用固定版本的情况下)。

添加了更多详细信息。我没有使用固定版本。它正在使用
compile'group:package:1.2.+'
。这就是问题所在吗?如果两个回购协议都有相同的最高版本,我希望它会从先前宣布的回购协议中选择一个,但我不能绝对肯定。没有其他方法可以影响秩序。区分版本可能更好,例如,在本地版本上附加一个时间戳和/或给它一个不同的状态(例如,集成与发布)。好的。我将更改ant构建文件。希望很快我们将更新到gradle everywhere。谢谢你的信息。