繁体   English   中英

Grails没有从本地仓库下载最新的插件版本

[英]Grails not downloading latest plugin version from local repo

我的设置:

  • 我正在使用Grails 2.3.8
  • 我有几个私有插件我通过“grails publish-plugin”手动发布到我的本地Nexus存储库
  • 我有几个使用这些插件的Grails应用程序
  • 分布式开发团队

我的目标:

  • 能够部署我的私有插件的新版本,让我的Grails应用程序自动使用这些最新版本,而无需修改他们的BuildConfig.groovy文件
  • 我知道内联/嵌入式插件定义,这不是我想要的

可能的解决方案:

据我了解,可能至少有两种方法可以实现我的目标:

  1. 部署我的插件的快照版本并让我的Grails应用程序使用这些快照版本(例如,version =“0.1-SNAPSHOT”)
  2. 配置我的Grails应用程序的BuildConfig.groovy以使用“latest.release”或Maven版本范围 例子:
    • 编译'com.mycompany:some-plugin:latest.version'
    • 编译'com.mycompany:some-plugin:[0.1,)'

问题:

上面两种方法的工作。

它们都会导致我的插件的最新版本被下载,至少最初是这样。 但是,如果我发布新版本的插件(无论是快照还是发布),在我的Grails应用程序上重新运行“grails run-app”不会尝试下载/安装可用的新版本。

我觉得我的M2_HOME本地存储库中的maven-metadata - *。xml文件限制了已知存在的版本(即使Nexus有更新版本可用)。

当我使用mavenRepo()定义我的Nexus repo时,是否需要传递一些参数来告诉Grails始终检查远程仓库上的新版本而不依赖于本地仓库?

Graeme在这里的建议似乎也没有帮助: Dependencies和lastest.release

任何帮助都会很棒。 :-)

您是否为存储库配置了updatePolicy 看到

http://grails.org/doc/latest/guide/conf.html#changingDependencies

“Aether和SNAPSHOT依赖关系”一节。 例:

mavenRepo "http://myrepo", {
    updatePolicy "interval:1"
}

我正在使用2.3.7并且似乎遇到了类似的问题。 在开发过程中使用SNAPSHOT插件应该是您想要的。 我使用的一个解决方法是从Artifactory中删除SNAPSHOT版本,然后在构建新的SNAPSHOT后,识别出插件更改。 我猜您正在使用Maven构建,现在是默认情况下您可以尝试切换到常春藤构建,看看是否有帮助。 如果您能够重新创建,则应创建JIRA。 我相信这是一个问题,我不记得在使用旧版本(2.1.5)和使用常春藤版本时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM