Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn Maven release插件无法解析带有特殊字符的密码_Svn_Maven_Maven Release Plugin - Fatal编程技术网

Svn Maven release插件无法解析带有特殊字符的密码

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插件签入代码 关于如何着手解决这个

我正在我的项目中实现Maven发布插件,以自动化我们的发布过程。 但是,
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>