我试图将密码和用户名作为参数传递给我的ant文件connectionTester.xml。 我用-v和-d选项运行ant。 我所看到的物业变化让我感到太过烦恼,无法找到解决方案。 密码包含$ character,后面跟一个形成linux命令的字符被替换,如下面的详细输出中所示。
如何处理此方案。密码被修改或替换为其他内容,最终构建失败。
[u@VM:h W]$ /opt/app/apache-ant-1.9.2/bin/ant -file connectionTester.xml -DdeployServer_user=xxxxxxx -DdeployServer.password=apr20$1 -v -d
Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Buildfile: /home/xxxxxx/connectionTester.xml
Adding reference: ant.PropertyHelper
Detected Java version: 1.7 in: /usr/java/jdk1.7.0_25/jre
Detected OS: Linux
Adding reference: ant.ComponentHelper
Setting ro project property: deployServer_user -> xx49783
Setting ro project property: deployServer.password -> apr20-file
Setting ro project property: ant.file -> /home/xx49663/connectionTester.xml
Setting ro project property: ant.file.type -> file
答案 0 :(得分:1)
尝试在ant call&之前在命令行中设置密码。转义$的含义(考虑它在命令行中作为纯文本传递),如命令行
$myPass=apr20\$1
然后用
-DdeployServer.password=$myPass
答案 1 :(得分:0)
尝试传递
-DdeployServer.password='apr20\$1'