我已经尝试过在线帮助后正常使用maven发布插件。但是当我做一个mvn版本时:准备我得到以下错误(silverfish是我的项目的名称):
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project silverfish: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The svn tag command failed.
[ERROR] Command output:
[ERROR] svn: E200007: Source and destination URLs appear not to point to the same repository.
[ERROR] -> [Help 1]
这是我的pom.xml中的scm部分:
<scm>
<connection>scm:svn:http://svnuser:passwd@some.address/scm/svn/silverfish</connection>
<url>http://viewurl</url>
</scm>
我认为它与“user / passwd”部分有关,因为maven进程的输出给出了:
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /home/dittrich/NetBeansProjects/silverfish && svn --username svnuser --password '*****' --non-interactive commit --file /tmp/maven-scm-1445257989.commit --targets /tmp/maven-scm-7382722062367813549-targets
[INFO] Working directory: /home/dittrich/NetBeansProjects/silverfish
[INFO] Tagging release with the label silverfish-1.9...
[INFO] Executing: /bin/sh -c cd /home/dittrich/NetBeansProjects/silverfish && svn --username svnuser --password '*****' --non-interactive copy --file /tmp/maven-scm-723027784.commit --revision 106 http://some.address/scm/svn/silverfish 'http://svnuser:passwd@some.address/scm/svn/silverfish/tags/silverfish-1.9'
[INFO] Working directory: /home/dittrich/NetBeansProjects/silverfish
注意:签入部分没有问题,因此基本的svn配置似乎没问题。
在我看来,问题是maven在没有用户名密码(使用--username和--password开关)的情况下为复制命令提供了一个URL,并且使用了一个(使用user:passwd @sever语法)。然后颠覆认为这些网址不一样。
mvn copy http://some.address/scm/svn/silverfish 'http://svnuser:passwd@some.address/scm/svn/silverfish/tags/silverfish-1.9'
我不知道这是否是一个颠覆问题,因为颠覆应该明白这些网址是相同的。或Maven问题,因为Maven应该使用相同的url语法?
顺便说一句,我使用svn,版本1.7.7(r1393599)和我的svn服务器说它是“由SVN / 1.7.5 SVNKit / 1.7.5-2(http://svnkit.com/)提供支持t20120724_0758" Apache Maven 3.0.4 Java版本:1.6.0_30,供应商:Sun Microsystems Inc.
答案 0 :(得分:2)
从SCM连接网址中删除用户名和密码:
<scm>
<connection>scm:svn:http://some.address/scm/svn/silverfish</connection>
<url>http://viewurl</url>
</scm>
并将它们添加到发布插件:
<plugin>
<artifactId>maven-release-plugin</artifactId>
...
<configuration>
<username>${svn.username}</username>
<password>${svn.password}</password>
</configuration>
</plugin>