使用我的多项目 pom,我在运行 release:prepare 时遇到错误。项目设置没有什么特别的,之前的每个发布步骤都运行良好。我得到的错误是:

    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Unable to tag SCM
    Provider message:
    The svn tag command failed.
    Command output:
    svn: Commit failed (details follow):
    svn: File '/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml' already exists

知道它从哪里来以及如何绕过它吗?

(抱歉重复的帖子 - 首先被关闭,因为我没有将其表述为可以回答的问题。我希望现在一切都好。)

编辑
Maven 发布插件负责版本处理本身。因此,当我检查 subversion 存储库中的路径时,该路径尚不存在。

编辑2
@本:我不知道服务器版本,但客户端也是1.5.2。

有帮助吗?

解决方案

该问题已在最新版本中得到解决 maven-发布-插件. 。将其添加到您的 POM 中以将其引入。

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-9</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

已解决的问题是 MRELEASE-375.

其他提示

这是因为您没有增加版本号 - 1.0.2 已经存在于您的 Subversion 存储库中。

要么增加您的版本,要么只是从您的存储库中删除 /repos/june/tags/foo-1.0.2 标签。

Roland,如果您还没有看到这一点,请查看 John Smart 关于此问题的博客文章。尽管他提出的脚本不太优雅,但它解决了问题:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html

另一种解决方案是使用 Git。(我==目前正在写关于Maven和Git的文章)

可能有用的链接:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (前面提到过)

http://jira.codehaus.org/browse/MRELEASE-427 (真正的错误?)

http://jira.codehaus.org/browse/SCM-406 (相关错误)

http://olafsblog.sysbsb.de/?p=73 (更新且可能更有帮助的帖子)

据我所知,这是 Subversion 1.5 中的一个错误,与 maven 没有直接关系。然而,解决这个问题的一个解决方法是更新本地 svn 存储库并再次运行release:prepare 目标。

我花了很长时间与这个斗争。SVN 1.5.1+ 中有些不同,它中断了直接从工作副本提交到标签的操作 - 这正是 Maven 所做的。对于谁负责解决这个问题仍然存在很多指责。

您可以执行“svn update”并重新运行release命令,但如果您正在执行release:branch,这将导致release插件不会将您的POM文件返回到之前的状态。

据我所知,最好的解决方法是退回到 Subversion 1.5.0。

这是 固定的 在最新版本的插件版本 2.0-beta-9 中

我看到这篇文章是因为我在没有安装 svn 的服务器上遇到了构建问题。

这有助于:Jenkins 与 Subversion

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top