【问题标题】:Unable do prepare a release for maven project on java.net using Sonatype Nexus无法使用 Sonatype Nexus 为 java.net 上的 maven 项目准备发布
【发布时间】:2013-02-16 17:59:39
【问题描述】:

无法使用 OSS 在 java.net 上为 maven 项目准备发布

我按照

处的说明进行操作

http://java.net/projects/maven2-repository/pages/MigrationAndCleanupRelatedDocumentation#Stage_a_Release

mvn release:clean 

还好

mvn release:prepare 

似乎没问题,在此过程中它会询问我接受的 gpg 密码(我已在下面的输出中将其更改为密码)

但最后它失败了:

svn: OPTIONS of 'https://svn.java.net/svn/jaudiotagger/tags':
 authorization failed: Could not authenticate to server: 
 rejected Basic challenge (https://svn.java.net)

这里有更多的输出

    GPG Passphrase: *password
*gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
    gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
    gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
    gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
    gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 8 minutes 21 seconds
    [INFO] Finished at: Sat Feb 16 17:48:05 GMT 2013
    [INFO] Final Memory: 42M/282M
    [INFO] ------------------------------------------------------------------------
[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive commit --file C:\Users\MESH\AppData\Local\Temp\maven-scm-1694916625.commit --targets C:\Users\MESH\AppDat
a\Local\Temp\maven-scm-4871080818615227594-targets"
[INFO] Working directory: c:\Code\jthink\opensrc\jaudiotagger
[INFO] Tagging release with the label 2.0.4...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file C:\Users\MESH\AppData\Local\Temp\maven-scm-1619719744.commit --revision 1106 https://svn.java
.net/svn/jaudiotagger/tags/2.0.4 https://svn.java.net/svn/jaudiotagger/tags/2.0.4"
[INFO] Working directory: c:\code\jthink\opensrc\jaudiotagger
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to tag SCM
Provider message:
The svn tag command failed.
Command output:
svn: OPTIONS of 'https://svn.java.net/svn/jaudiotagger/tags': authorization failed: Could not authenticate to server: rejected Basic challenge (https://svn.java
.net)

更新 因此,阅读链接中的 cmets 据说您可以将用户名和参数作为密码传递,所以我尝试使用

   mvn release:prepare -Dusername=paultaylor
    -Dpassword=xxxxxx -Dgpg.passphrase=xxxxxx

以及传递给 svn 命令的参数,如下所示,但它仍然以相同的方式失败。

[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "svn --username paultaylor --password ***** --no-auth-cache --non-interactive commit --file C:\Users\MESH\AppData\Local\Temp\mav
en-scm-264158387.commit --targets C:\Users\MESH\AppData\Local\Temp\maven-scm-6229037003047930707-targets"
[INFO] Working directory: c:\Code\jthink\opensrc\jaudiotagger
[INFO] Tagging release with the label jaudiotagger-2.0.4...
[INFO] Executing: cmd.exe /X /C "svn --username paultaylor --password ***** --no-auth-cache --non-interactive copy --file C:\Users\MESH\AppData\Local\Temp\maven
-scm-617643506.commit --revision 1113 https://svn.java.net/svn/jaudiotagger/tags/jaudiotagger-2.0.4 https://svn.java.net/svn/jaudiotagger/tags/jaudiotagger-2.0.
4"
[INFO] Working directory: c:\code\jthink\opensrc\jaudiotagger
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to tag SCM
Provider message:
The svn tag command failed.
Command output:
svn: OPTIONS of 'https://svn.java.net/svn/jaudiotagger/tags': authorization failed: Could not authenticate to server: rejected Basic challenge (https://svn.java
.net)

【问题讨论】:

  • 您应该允许存储SVN的凭证信息。其次,您需要提供mvn clean deploy -Dgpg.passphrase=yourpassphrase 并注意网站上的提示** mvn release:perform -Darguments=-Dgpg.passphrase=PASSPHRASE**
  • 我错过了提到你可以使用这样的东西:scm-credentials
  • @khmarbaise 嗨,我尝试按照链接中的建议将用户名和密码作为参数传递,但仍然以同样的方式失败

标签: svn maven nexus sonatype


【解决方案1】:

我发现问题最终出在我的 pom 中

我有

    <connection>scm:svn:http://svn.java.net/svn/jaudiotagger/trunk
    </connection>
    <developerConnection>scm:svn:https://svn.java.net/svn/jaudiotagger
        /trunk</developerConnection>

当我需要时

    <connection>scm:svn:http://svn.java.net/svn/jaudiotagger~svn/trunk
    </connection>
    <developerConnection>scm:svn:https://svn.java.net/svn/jaudiotagger~svn
         /trunk</developerConnection>

【讨论】:

  • 答案(我在连接字符串中有错字)与问题/标题无关。
猜你喜欢
  • 2015-05-18
  • 1970-01-01
  • 2012-10-02
  • 1970-01-01
  • 2016-07-08
  • 2014-11-25
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多