4

我正在尝试使用 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 local install 中的 settings.xml 文件中指定任何凭据

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

你有什么想法 ?

非常感谢。

编辑:@Colin 例如,如果我使用 tortoise svn 浏览 svn://myserver/myproject/sandbox/release-test 它工作正常。但是,如果我在 Firefox 中键入http://myserver/myproject/sandbox/release-test,则找不到该页面。另外我认为应该没问题,因为在尝试创建标签之前提交了 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:”,但没有奏效。

4

1 回答 1

4

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

svn:' 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
从我的在线存储库中签出时出现 SVN 错误(200 OK)
Tortoise svn Subversion 更新错误

于 2010-08-24T19:55:52.447 回答