maven - Grails版本插件Maven部署不会始终更新maven-metadata.xml中的<latest>标签

标签 maven grails artifactory

背景

我有两个Grails应用程序,都运行Grails 2.3.6,并安装了发行插件(build ":release:3.0.1")。

我有一个jenkins CI服务器设置,可以自动从源代码管理中提取项目,并将 war 部署到 Artifact 上。从那里,它可以通过脚本自动部署到我们的tomcat服务器。

对于一个应用程序,Artifactory生成的maven-metadata.xml文件包含<latest>标记,该标记指定我的应用程序中的哪个版本是最新的。

问题

我的问题是,另一个应用程序没有<latest>标记,即使它使用的是完全相同的命令来部署到我们的Artifactory存储库grails maven-deploy。 BuildConfig.groovy文件基本上是相同的。

这是一个问题,因为我需要<latest>信息可用于我的部署脚本。

根据我的read around the web,仅当设置了-DupdateReleaseInfo=true标志时,maven 2才会生成maven-metadata.xml文件。但是,在构建期间,我看不到任何正在运行的应用程序将此标志传递给Maven的地方。

我已经尝试过对this thread建议的修复程序-即,

  • 确保部署用户具有“注释”权限
  • Maven快照版本行为=“Deployer”

  • 但是我的第二个应用程序仍然没有在其maven-metadata.xml中添加<latest>标记。

    最佳答案

    因此,我发现可以轻松地将-DupdateReleaseInfo=true传递给grails maven-deploy命令作为附加参数,这迫使maven更新maven-metadata.xml中的<latest>标记。我不确定为什么有时会这样做,而不是其他人,但是至少能奏效!

    关于maven - Grails版本插件Maven部署不会始终更新maven-metadata.xml中的<latest>标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23770881/

    相关文章:

    java - artifactoryPublish 配置中发布部分的魔力

    maven - 没有可用版本时,Gradle/Maven下载快照

    maven - JFrog Artifactory : Difference between item, 神器,构建和入口?

    java - Maven 依赖项缺少 Artifact

    javascript - 在grails中发送错误并用Javascript读取

    grails - Groovy SQL 数据源连接处理,withTransaction

    java - Grails:用 Hibernate 类替换 GORM

    java - 安装 POM 时设置本地存储库 ID

    java - 将子项目中的所有依赖项 jar 复制到父项目目录中

    maven - hudson:maven-sonar-plugin 执行无法从服务器下载库