2011-02-15 65 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