grails依赖解决方案

时间:2011-02-15 14:12:29

标签: java maven-2 grails groovy ivy

我的Grails项目取决于使用Maven构建的内部库Commons.jar。在BuildConfig.groovy中,我已将其配置为首先在本地Maven存储库中查找此依赖关系,然后在公司范围的存储库中查找。

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')
}

当我构建Common / jar(使用mvn deploy)时,它首先存储在mavenLocal中,然后复制到mavenRepo。但是,当我构建Grails应用程序时,它会在以下位置查找JAR:

  • 常春藤缓存(默认为〜/ .ivy2 /缓存)
  • mavenLocal(由$ M2_REPO定义)
  • mavenRepo(http://build.mycompany.com/wtp_repository)

因此,Grails应用程序不断从常春藤缓存中获取旧版本的JAR,在构建Commons项目时,它永远不会更新。

如果我知道如何:

,我想我可以解决这个问题
  • 防止Grails在常春藤缓存中查找依赖项(虽然我想禁用缓存可能会大大减慢我的构建速度)
  • 确保在构建Commons时也更新常春藤缓存

然而,似乎任何引用Maven项目的SNAPSHOT工件的人都应该有这个问题,所以也许我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

我猜this discussion与您遇到的问题有关,可能会提出一些解决方法/解决方案。