如何让Grails中得到Maven仓库最新的本地罐子?(How to make Grails get

2019-09-02 21:09发布

  1. 在我的Maven的回购协议(.m2目录)。 有喜欢sub_app-0.1.jar一个我的地方罐子。
  2. 我在常春藤缓存它的同一个副本。
  3. 我运行maven install上sub_app那么新sub_app-0.1.jar文件中创建。
  4. 之后,我运行grails clean ,它不是从.m2目录让我的新sub_app-0.1.jar。
  5. 但是,如果我删除(删除)从常春藤缓存sub_app-0.1.jar文件并运行grails clean则获得新的sub_app-0.1.jar文件到常青藤缓存。

  6. 如果我在子应用POM更改版本和Grails POM和Grails正在最新的一个。 再次安装它没有采取。

  7. 我试图通过添加甚至快照SUP-应用罐子。 同样的结果,第一次走,之后没有。

即。 考虑常春藤缓存只罐子的名称和版本,如果有Grails的 - 它不采取。 如果没有 - 它采取的.m2。

但是,不考虑新/老版本。

我怎样才能在步骤4中也相同的行为(第5步)?

Answer 1:

更新

你可以尝试将改变=真BuildConfig.groovy你的依赖,因为在指定的Grails指南

compile ('YOUR_GROUP_ID:YOUR_SUB_AP:0.1') {
    changing = true
}


Answer 2:

不知道这是否是同样的问题,因为你,但我用春源工具套件(STS)具有一个“接口”项目的依赖关系(这只是包含接口,豆类,POJO的,等等)一个'Grails的项目。

如果我运行一个Maven安装在STS接口,那么Maven的正确与最新的jar更新(我用“-1.0-快照”作为我的版本号)。

如果我再运行一个Grails干净我的'Grails的在STS项目,Grails的正确识别接口罐子的变化(我已经改变{=真}在BuildConfig.groovy),下载POM,但无法下载JAR作为它不能删除从常春藤缓存的罐子。 貌似STS对常春藤缓存,防止这样的手柄。

正如我继承了这个项目从其他开发商谁告诉我这是Grails和/或STS的一个bug /功能,我已经拜倒要么给他的知识和解决方法如下:

  1. 行家包,而不是安装在“接口”,那么最新的jar复制到常青藤缓存。 这似乎STS将让我代替罐子的内容。 然后Grails的清洁使用来自常春藤缓存(没有尝试从行家下载)最新的罐子。
  2. 行家上安装“接口”,关闭STS,删除常春藤缓存,重新打开STS,Grails的清洁它从下载最新的Maven瓶瓶。

两种解决方法的疼痛,所以我很有兴趣,如果任何人有任何想法?



Answer 3:

Grails的不支持以获得最新的同一(组ID,神器-ID,版本)的容器,即使快照罐子也。

解决方案:

  1. 每一次,删除常春藤缓存子APP-version.jar。 要么
  2. 每一次,改变版本下一个值(应大于当前值)在pom.xml中的子应用罐子。

4配置-参考文档

请阅读:

4.7.6快照和其他改变依赖



文章来源: How to make Grails get latest local jars from Maven repository?