5

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

    [信息] --------------------------------------------- -------------------------
    [错误] 构建失败
    [信息] --------------------------------------------- -------------------------
    [INFO] 无法标记 SCM
    提供者消息:
    svn tag 命令失败。
    命令输出:
    svn:提交失败(详情如下):
    svn:文件'/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml'已经存在

知道它来自哪里以及如何解决它吗?

(很抱歉重复的帖子 - 第一次被关闭是因为我没有将其表述为可以回答的问题。我希望现在可以了。)

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

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

4

8 回答 8

10

最新版本的maven-release-plugin解决了这个问题。将此添加到您的 POM 以将其拉入。

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

已修复的问题是MRELEASE-375

于 2009-04-15T10:22:44.367 回答
1

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

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

于 2008-09-18T13:04:40.400 回答
1

Roland,如果您还没有看过这个,请看一下 John Smart 关于这个问题的博客文章。虽然他提出的脚本不优雅,但它解决了问题:

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

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

于 2009-02-03T22:54:24.330 回答
1

可能有用的链接:

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(更新的也许更有帮助的帖子)

于 2009-04-14T16:54:18.303 回答
0

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

于 2008-09-18T13:03:20.777 回答
0

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

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

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

于 2008-10-30T14:12:28.450 回答
0

这已在最新版本的插件版本 2.0-beta-9 中得到修复

于 2009-04-19T02:07:57.593 回答
0

当我在没有安装 svn 的服务器上遇到构建问题时,我点击了这篇文章。

这有帮助: Jenkins with Subversion

于 2013-10-15T11:17:46.697 回答