Svn Maven release插件无法解析带有特殊字符的密码
我正在我的项目中实现Maven发布插件,以自动化我们的发布过程。 但是,Svn Maven release插件无法解析带有特殊字符的密码,svn,maven,maven-release-plugin,Svn,Maven,Maven Release Plugin,我正在我的项目中实现Maven发布插件,以自动化我们的发布过程。 但是,release prepare任务无法签入代码并将错误与此错误一起签出 authorization failed: Could not authenticate to server: rejected Basic challenge 我尝试了中提到的所有步骤,但都没有成功 我能够通过命令行成功运行所有svn命令 我很确定我的svn URL很好,因为我能够在同一pom中使用maven scm插件签入代码 关于如何着手解决这个
release prepare
任务无法签入代码并将错误与此错误一起签出
authorization failed: Could not authenticate to server: rejected Basic challenge
我尝试了中提到的所有步骤,但都没有成功
我能够通过命令行成功运行所有svn命令
我很确定我的svn URL很好,因为我能够在同一pom中使用maven scm插件签入代码
关于如何着手解决这个问题有什么建议吗
编辑:
我刚刚意识到:prepare使用缓存的username/passwd成功运行。但是如果我通过-Dusername=testUser-Dpassword=passwd
给同一个用户发送消息,那么它就会失败。凭据是正确的。传递参数时是否遗漏了什么
编辑2:
我发现了这个问题,我的密码以
$
符号开头,maven没有正确解析它,这就是为什么会出现这个问题。如何处理运行maven命令的密码中的特殊字符?首先,将服务器元素添加到${user.home}/.m2/settings.xml
文件中
<server>
<id>your.subversion.host</id>
<username>yourUserName</username>
<password>yourPassword</password>
</server>
参考资料:和。我在
mvn中遇到了类似的问题--使用包含$
的密码加密密码命令。逃跑是解决办法:
我使用了mvn--encrypt password pa$$word
来代替mvn--encrypt password pa\$\$word
,使它工作起来
要确定您的操作系统如何处理特殊字符类型echo pa$$word
谢谢,这很有帮助。但我热衷于将用户名、密码作为参数传递。我刚刚意识到:prepare使用缓存的username/passwd成功运行。但如果我通过-Dusername=testUser-Dpassword=passwd给同一个用户,那么它就会失败。凭据是正确的。这里有什么线索吗?回复:编辑2。出现问题的不是Maven,而是您的操作系统在解释“$”。尝试使用操作系统的方法来转义特殊字符。
<project>
...
<properties>
<project.scm.id>your.subversion.host<project.scm.id>
</properties>
</project>