我在使用Grails 2.3.7和eclispe GGTS 3.5.1刷新依赖关系时遇到问题
我的主要项目的BuildConfig
如下;它取决于一个插件,acme
...
grails.project.target.level = 1.6
grails.project.source.level = 1.6
grails.project.dependency.resolver = "maven"
grails.project.dependency.resolution = {
inherits("global")
checksums true
legacyResolve false
repositories {
inherit false
mavenRepo('http://...'){
updatePolicy 'always'
}
}
plugins {
compile('acme:acme-core:0.10-SNAPSHOT)
}
签入acme
的一些更改,然后从GGTS执行refresh-dependencies
,并下载新的快照文件;通过run-app
确认,二进制文件与更改一致;到目前为止一切顺利。
为acme
签入更多更改,即使Grails / GGTS识别出更改并下载新文件,无论我做什么,文件仍然是旧文件。
到目前为止我所确认的内容:
0.10-SNAPSHOT
;主项目引用相同版本refresh-dependencies
肯定会下载新的pom / zip文件我通过删除以下文件夹来尝试平常:
myProject
/taret
/target-eclispe
${userHome}
.grails
/2.3.7/
/projects
${userHome}
.m2
/repository
/acme
${userHome}
.ivy
(empty, not used anyway)
删除后,在GGTS中执行clean
+ refresh-dependencies
,并下载新的pom / zip文件,与SNAPSHOT版本/标签一致,但二进制文件仍然是旧的,并不反映最近的提交
我尝试使用命令行Grails(没有GGTS),同样的废话。
我错过了什么吗?插件有秘密文件夹吗?也许删除我的C:/可以治愈这种头痛,你知道,为了安全吗?大声笑......坦率地说,在这一点上,我不知道还能做什么。我过去曾遇到过类似的问题,但是有一些clean
和refresh
来处理它,但这次不是。
答案 0 :(得分:4)
Grails使用grails.dependency.cache.dir
系统属性来确定其依赖性缓存的位置。默认情况下,我认为它设置为grails.dependency.cache.dir = "${userHome}/.ivy2/cache"
。您可以通过在~/.grails/settings.groovy
文件中设置属性来覆盖此属性,或者我相信您也可以在BuildConfig.groovy
中对其进行设置。即使您使用的是Aether(Maven)依赖项解析程序,我相信Grails仍会将您的.m2
中的依赖项复制到此缓存中。