2011-02-15 54 views
4

我的Grails項目取決於使用Maven構建的內部庫Commons.jar。在BuildConfig.groovy我已經配置它首先在本地Maven存儲庫中查找此依賴項,然後在公司範圍的存儲庫中查找。grails依賴分辨率

repositories {   
    // Read the location of the local Maven repository from $M2_REPO 
    mavenLocal System.getenv("M2_REPO")   
    mavenRepo "http://build.mycompany.com/wtp_repository" 
} 

plugins { 
    build 'org.grails.plugins:spring-security-core:1.0.1' 
} 

dependencies { 
    compile ('com.mycompany:Commons:1.0.0-SNAPSHOT') 
} 

當我建立普通/罐(使用mvn deploy),首先存儲在mavenLocal,然後複製到mavenRepo。然而,當我建立的Grails應用程序,它會尋找JAR在以下位置:

  • 常青藤緩存(默認爲〜/ .ivy2 /高速緩存)
  • mavenLocal(由$ M2_REPO定義)
  • mavenRepo(http://build.mycompany.com/wtp_repository)

所以Grails的應用程序正在不斷拿起一箇舊版本從常春藤緩存,共享項目建成時從不更新的JAR的。

我想,如果我知道如何我可以解決這個問題:

  • 防止Grails的用於尋找常春藤緩存依賴(雖然我想禁用緩存可能會拖慢我相當編譯)
  • 確保常春藤緩存也被更新,當我建立共享

然而,似乎任何人引用Maven項目的快照文物也應該有這個問題,所以也許我失去了一些東西?

謝謝!

回答

2

我猜this discussion與您遇到的問題有關,可能會提出一些解決方法。

+1

請考慮將鏈接信息的相關部分添加到您的答案中,以幫助防止鏈接腐爛並使其自己有用。 – cdeszaq 2013-01-25 14:44:00