2014-05-18 49 views
1

我無法刷新與Grails 2.3.7和eclispe GGTS 3.5.1的依賴關係Grails和GGTS在哪裏存儲Maven依賴關係?

我的主項目的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 s和refresh es會照顧它,但現在不行。

回答

4

Grails使用grails.dependency.cache.dir系統屬性來確定其依賴關係緩存的位置。默認情況下,我認爲它設置爲grails.dependency.cache.dir = "${userHome}/.ivy2/cache"。您可以通過在~/.grails/settings.groovy文件中設置屬性來覆蓋此內容,或者我相信您也可以將其設置在您的BuildConfig.groovy中。即使您使用的是Aether(Maven)依賴關係解析器,我相信Grails仍然會將您的.m2中的依賴關係複製到此緩存中。

+2

正如我前面提到的,我的系統中'$ {userHome} /。ivy'是空的,但仔細檢查發現'$ {userHome} /。grails/2.3.7/ivy-cache'上有另一個常青藤緩存,它有一個插件'acme'!的副本,所以讓我們看看這是否工作... – raffian