maven install
,然后创建了新的sub_app-0.1.jar文件。grails clean
并且没有从.m2获取我的新sub_app-0.1.jar。 但是,如果我从ivy-cache中删除(删除)sub_app-0.1.jar文件并运行grails clean
,那么它会将新的sub_app-0.1.jar文件转换为ivy-cache。
如果我更改子应用程序pom和grails pom中的版本,Grails将采用最新版本。再安装它没有服用。
即。 Grails只考虑常春藤缓存中的jar名称和版本,如果有 - 它不需要。如果没有 - 它取自.m2。
但它不考虑新旧构建。
如何在步骤4中获得相同的行为(步骤5)?
答案 0 :(得分:0)
已更新
您可以尝试将 changing = true 添加到 BuildConfig.groovy 中的依赖项,如Grails Guide
中所述compile ('YOUR_GROUP_ID:YOUR_SUB_AP:0.1') {
changing = true
}
答案 1 :(得分:0)
不确定这是否与您的问题相同,但我使用Spring Source Tool Suite(STS)和#39; grails'项目依赖于'接口' project(只包含接口,bean,pojos等)。
如果我在STS的接口上运行maven安装,那么maven会使用最新的jar正确更新(我使用' -1.0-SNAPSHOT'作为我的版本号)。
如果我在我的' grails'在STS项目中,Grails正确识别接口jar的变化(我在BuildConfig.groovy中有{changing = true}),下载pom,但无法下载jar,因为它无法从常春藤缓存中删除jar。看起来STS在ivy-cache上有一个句柄可以阻止它。
当我从另一位开发人员那里继承这个项目时,他告诉我这是Grails和/或STS的一个错误/特征,我通过以下方式对他的知识和解决方法感到鞠躬:
这两种解决方法都很痛苦,所以如果有人有任何想法,我会感兴趣吗?
答案 2 :(得分:0)
Grails不支持获取最新的相同(group-id,artifact-id,version)jar甚至SNAPSHOT jar。
解决方案:
- 每次都从ivy-cache中删除sub-app-version.jar。或
- 每次,将版本更改为pom.xml中子应用程序jar的下一个值(应该大于当前值)。
醇>
4 Configuration - Reference Documentation
请阅读:
4.7.6快照和其他更改依赖关系