Grails和GGTS在哪里存储maven依赖项?

时间:2014-05-18 22:41:27

标签: maven grails grails-2.0

我在使用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:/可以治愈这种头痛,你知道,为了安全吗?大声笑......坦率地说,在这一点上,我不知道还能做什么。我过去曾遇到过类似的问题,但是有一些cleanrefresh来处理它,但这次不是。

1 个答案:

答案 0 :(得分:4)

Grails使用grails.dependency.cache.dir系统属性来确定其依赖性缓存的位置。默认情况下,我认为它设置为grails.dependency.cache.dir = "${userHome}/.ivy2/cache"。您可以通过在~/.grails/settings.groovy文件中设置属性来覆盖此属性,或者我相信您也可以在BuildConfig.groovy中对其进行设置。即使您使用的是Aether(Maven)依赖项解析程序,我相信Grails仍会将您的.m2中的依赖项复制到此缓存中。