有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试使用Maven release plugin 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中的xml文件

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

你有什么想法吗

非常感谢

编辑: @科林 如果我浏览svn://myserver/myproject/sandbox/release-test以乌龟svn为例,它工作得很好。但是,如果我在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:”但没有成功


共 (1) 个答案

  1. # 1 楼答案

    这里的问题并不是很专业。更多的是关于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