Maven Grails未从本地repo下载最新插件版本

Maven Grails未从本地repo下载最新插件版本,maven,grails,nexus,Maven,Grails,Nexus,我的设置: 我正在使用Grails2.3.8 我有几个通过“grails发布插件”手动发布到本地Nexus存储库的私有插件 我有几个Grails应用程序使用这些插件 分布式开发团队 我的目标: 能够部署我的私有插件的新版本,并让我的Grails应用程序自动使用这些最新版本,而无需修改它们的BuildConfig.groovy文件 我知道内联/内置插件定义,但这不是我想要的 可能的解决方案: 据我所知,至少有两种方法可以实现我的目标: 部署我的插件的快照版本,并让我的Grails应用程序使

我的设置:

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

  • 能够部署我的私有插件的新版本,并让我的Grails应用程序自动使用这些最新版本,而无需修改它们的BuildConfig.groovy文件
  • 我知道内联/内置插件定义,但这不是我想要的
可能的解决方案:

据我所知,至少有两种方法可以实现我的目标:

  • 部署我的插件的快照版本,并让我的Grails应用程序使用这些快照版本(例如version=“0.1-snapshot”)
  • 将my Grails apps的BuildConfig.groovy配置为使用“latest.release”或。示例:
    • 编译'com.mycompany:some plugin:latest.version'
    • 编译'com.mycompany:some插件:[0.1,)'
  • 问题:

    以上两种方法都是一种工作

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

    我觉得我的M2_HOME local repo中的maven metadata-*.xml文件限制了已知的版本(即使Nexus有更新的版本可用)

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

    格雷姆在这里的建议似乎也无济于事:


    任何帮助都会很好。:-

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

    您是否为存储库配置了
    更新策略?请参阅

    “以太和快照相关性”部分。示例:

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