Gradle 格拉德尔“;改变;依赖关系管理

Gradle 格拉德尔“;改变;依赖关系管理,gradle,build.gradle,gradle-dependencies,Gradle,Build.gradle,Gradle Dependencies,我想和你分享我的问题。也许有人也遇到了这个问题,并且会有解决办法。 简言之,Gradle不会解决频繁变化的依赖关系。 我们正在使用: ./gradlew -v ------------------------------------------------------------ Gradle 2.12 ------------------------------------------------------------ Build time: 2016-03-14 08:32:03

我想和你分享我的问题。也许有人也遇到了这个问题,并且会有解决办法。 简言之,Gradle不会解决频繁变化的依赖关系。 我们正在使用:

./gradlew -v

------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------

Build time:   2016-03-14 08:32:03 UTC
Build number: none
Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_66 (Oracle Corporation 25.66-b17)
OS:           Linux 2.6.18-409.el5 amd64
让我解释一下发生了什么事。 我们有一些项目和另一个独立项目有依赖关系。 两者都在积极发展之中。 一个是:字符串解析器版本:1.0.0-SNAPSHOT 第二个版本是:工具utils版本:2.2.0-SNAPSHOT 我们有内部maven artifactory,并在字符串解析器中对其进行了配置:

# some code there
configurations.all {
  resolutionStrategy.cacheChangingModulesFor 0, TimeUnit.MILLISECONDS
}

 repositories {
    mavenLocal()
    maven { url 'https://some.internal.com/deploy-snapshot'}
    maven { url 'https://some.internal.com/deploy-release'}
  }

dependencies {
# Some other dependencies listed here
  compile('com.some.group:tools-utils:2.2.0-SNAPSHOT') {
    changing = true
  }
}
因此,当我们在本地工作站(Windows-我认为这无关紧要)对工具UTIL进行更改,并将最后一个快照工件版本上载到maven本地和远程时,一切都正常。我们进入字符串解析器项目,按“重新导入”按钮(在Intellij Idea 2016.1.2中),然后渐变切换到正确的依赖项版本。 但如果有人做了一些更改并将新版本上传到Maven remote,它将不会更新缓存中的依赖项,并且仍然指向旧版本。为了修复它,我们从Gradle缓存中手动删除工件,并从Maven Local中手动删除(!)


您能给我一些建议吗,因为手动清理缓存(或使用TeamCity上的添加步骤)是一场噩梦?

尝试将此放入
所有项目中

 // forces all changing dependencies (i.e. SNAPSHOTs) to automagicially download
    // (thanks, @BillBarnhill!)
    configurations.all {
        resolutionStrategy {
            cacheChangingModulesFor 0, 'seconds'
        }
    }

尝试将其放入
所有项目中

 // forces all changing dependencies (i.e. SNAPSHOTs) to automagicially download
    // (thanks, @BillBarnhill!)
    configurations.all {
        resolutionStrategy {
            cacheChangingModulesFor 0, 'seconds'
        }
    }

您是否尝试过删除
changing=true
?考虑到您的
解决方案策略
是否从命令行使用Gradle,应禁用缓存?如果是,您是否尝试添加参数--refresh dependencies?是否尝试删除
changing=true
?考虑到您的
解决方案策略
是否从命令行使用Gradle,应禁用缓存?如果是,您是否尝试添加参数--refresh dependencies?