13

这到底是什么意思?无法通过谷歌找到任何帮助。

>  mvn release:prepare
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Base 1.0.5
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-release-plugin:2.3.2:prepare (default-cli) @ base ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.386s
[INFO] Finished at: Tue Oct 08 08:22:46 EST 2013
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project base: You don't have a SNAPSHOT project in the reactor projects list. -> [Help 1]
4

5 回答 5

18

release:prepare 命令应该为发布准备您的快照项目。听起来你没有这样的快照项目。

这是它的全部细节:http ://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html

如果您确定应该发布,则应该使用版本以-SNAPSHOT.

更新:就像@khmarbaise 在评论中指出的那样,如果您的发布失败,您应该release:rollback回到以前的状态。请注意,如果您通过 jenkins (jenkins 问题)发布,则不支持它,并且它不会回滚标签

于 2013-10-07T21:45:14.287 回答
7

不需要手动编辑 pom.xml。您可以使用“mvn versions:set”进行批量更新,如下所示:

mvn versions:set -DnewVersion=1.0.3-SNAPSHOT
于 2017-02-20T11:54:12.527 回答
4

我对詹金斯也有同样的错误。在之前的版本中,Jenkins 将 POM 的版本更新为非快照版本,但在 Jenkins 可以再次将版本设置为 -SNAPSHOT 版本之前构建失败。之后,发布导致上述错误。

解决这个问题很容易:只需手动将 pom.xml 中的应用程序版本更改为 -SNAPSHOT 版本。

于 2015-08-03T12:34:23.547 回答
0

我知道这是一个老问题,但我最近遇到了这个问题,我发现了 2 个其他人可能会觉得有用的解决方案。我使用竹子作为我的 CI 工具。问题是竹子构建中存在错误,导致竹子处于不正确的状态。它已经用新的发布版本在本地更新了我的项目 pom.xml,但没有将其签入 SVN。对我有用的两个解决方案是:

任何一个

  1. 删除项目的bamboo build-dir目录并再次运行发布: rm -rf /opt/bamboo-home/xml-data/build-dir/PROJECT_NAME-RELEASE-JOB1

或者

  1. 使用以下命令从命令行运行 maven 版本:

    mvn release:prepare -DignoreSnapshots -Dresume=false

    mvn 发布:执行

于 2015-04-28T11:09:00.027 回答
0

No need to update versions manually as that is time consuming, if version change is all you need, there is a different command that only updates the pom versions, just like updating them manually:

mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.0.XX-SNAPSHOT
于 2018-03-28T04:04:12.277 回答