java - 创建标记时 Maven 发布插件失败

标签 java svn maven-2 maven-release-plugin

我正在尝试使用 Maven 发布插件 2.0 来标记版本,并希望将生成的 jar 部署到存储库。

我在 release:prepare 卡住了,得到了这个神秘的错误:

[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive commit --file C:\Users\ME~1\AppData\Local\Temp\maven-scm-950614965.commit --targets C:\Users\ME~1\AppData\Local\Temp\maven-scm-35306-targets"
[INFO] Working directory: c:\workspace\release-test-trunk
[INFO] Tagging release with the label release-test-1.3.0...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file C:\Users\ME~1\AppData\Local\Temp\maven-scm-829250416.commit --revision 1885 http://myserver/myproject/sandbox/release-test/trunk http://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0"
[INFO] Working directory: c:\workspace\release-test-trunk
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to tag SCM
Provider message:
The svn tag command failed.
Command output:
svn: OPTIONS of 'http://myserver/myproject/sandbox/release-test': 200 OK (http://myserver)

[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20 seconds
[INFO] Finished at: Tue Aug 24 19:31:55 GMT 2010
[INFO] Final Memory: 14M/56M
[INFO] ------------------------------------------------------------------------
  • 标签文件夹确实存在且为空
  • 我执行了命令 mvn clean release:clean release:prepare 以确保重新运行
  • 每次出现错误时,我都会执行 mvn release:rollback 使一切恢复正常
  • 这似乎不是凭据问题,pom 文件有效地提交了 -SNAPSHOT,并且 scm 信息切换到了标签文件夹。

奇怪的是我不明白 pom 文件是如何提交的,因为我既没有在 pom 中也没有在位于 maven 本地安装的 settings.xml 文件中指定任何凭据

我看到很多人遇到了类似的问题,但是 folder already exist 错误消息。我的并没有告诉我错误到底是什么。

你有什么想法吗?

非常感谢。

编辑: @科林 例如,如果我使用 tortoise svn 浏览 svn://myserver/myproject/sandbox/release-test 它工作正常。但是,如果我输入 http://myserver/myproject/sandbox/release-test在 Firefox 中找不到该页面。 另外我认为应该没问题,因为在尝试创建标签之前提交了 pom 文件。 我在 pom 文件中的 scm 部分:

<scm>
    <connection>scm:svn:http://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</connection>
    <developerConnection>scm:svn:http://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</developerConnection>
    <url>http://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</url>
</scm>

我尝试删除“http:”,但没有用。

最佳答案

这里的问题并不是真正的专家。它更多的是关于 svn 本身。当 svn 发送此错误消息时,Maven 停止运行:

svn: OPTIONS of 'http://myserver/myproject/sandbox/release-test': 200 OK (http://myserver)

你绝对确定 http://myserver/myproject/sandbox/release-test 地址吗?

如果 http://myserver/myproject/sandbox/release-test 不存在,svn 将不会提交任何内容。只需将 http:// 替换为 svn://

<scm>
    <connection>scm:svn:svn://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</connection>
    <developerConnection>scm:svn:svn://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</developerConnection>
    <url>svn://myserver/myproject/sandbox/release-test/tags/release-test-1.3.0</url>
</scm>

链接:
svnforum.org
An SVN error (200 OK) when checking out from my online repo
Tortoise svn Subversion Update Error

关于java - 创建标记时 Maven 发布插件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560461/

相关文章:

java - maven项目可以有多个父项吗?

java - 您如何对上传到您的 java webapp 的文件进行病毒扫描?

java - 你能排除一个对象不被 Java 中的垃圾收集器跟踪吗?

maven-2 - Maven2对pom类型打包下的文件应用过滤

c# - 将 Tortoise SVN 修订号链接到程序集版本

svn - 如何将某个修订版的更改复制/重新应用到工作/头修订版?

unit-testing - Maven surefire插件是否使用多个线程运行测试?

java - 使用带时间戳的 sql 时 ps.executeQuery(sql) 出错

Java REGEX,从字符串中删除两种不同类型的注释

java - 通过 Eclipse 的 SVN - 无法运行我 checkout 的代码