gpt4 book ai didi

Maven 发布执行失败

转载 作者:行者123 更新时间:2023-12-04 23:24:22 26 4
gpt4 key购买 nike

今天在发布我们的项目时, release:perform 命令在这两者之间失败,因为我们的关系出现了间歇性问题。 release 命令只能上传一个 pom 文件到 nexus。

现在,nexus 问题已解决,我正在尝试发布,它失败了,因为 pom 文件已经存在并且它不是快照版本,而且我们无权访问 nexus,因此我可以删除该文件并重新开始.

有什么方法可以传递一个参数,以便 release:perform 应该继续,如果文件已经存在并忽略它,但继续上传其余部分。

我一直在寻找这种类型的选项,但没有找到任何东西。

我的最后一个资源是再次开始发布,这会增加版本号,但想了解是否还有其他方法不需要修改版本。

我正在使用 Maven 2.2.1

最佳答案

以下是我过去处理此问题的方式。 release:perform命令会从您的 SCM 提供商(例如 SVN)处 checkout 标签。这是在 target/checkout 中完成的该项目的目录 - 无论是什么,都应该有已发布标签的精确副本,因此它将在 pom 文件等中具有正确的版本号。

如果你移动到那个目录( target/checkout 在你开始发布的目录中),你可以简单地做一个 mvn deploy在那里,它应该编译并打包该版本,然后将其上传到您的 Nexus 实例。

如果您没有 target/checkout目录,您可以 check out 作为 release:prepare 一部分创建的标签。从您的 SCM 系统转移到新目录并运行 mvn deploy那里。

由于您的 SCM 中的标签已经创建,唯一剩下的就是真正编译、打包和部署发布,这正是 mvn deploy应该做。

如果您在调用 mvn release:perform 期间为构建提供了附加参数(例如用于激活配置文件) ,当您运行 mvn deploy 时,您还必须提供这些。 .

使用这种方法,您的版本号不必更改,它可以保持不变,因为您只是上传已标记为 mvn release:prepare 的一部分的内容。 .

关于Maven 发布执行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15549524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com