java - 具有特殊字符的 Ant 属性

标签 java linux ant build-process

我正在尝试将密码和用户名作为参数传递给我的 ant 文件 connectionTester.xml.. 我正在使用 -v 和 -d 选项运行 ant。 我看到的属性(property)变化让我非常恼火,无法找到解决方案。 密码包含 $ 字符,当其后跟一个构成 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

最佳答案

尝试在 ant 调用之前在命令行中设置密码并转义 $ 的含义(考虑到它在命令行中作为纯文本传递),就像在命令行中一样

$myPass=apr20\$1

然后用

-DdeployServer.password=$myPass

关于java - 具有特殊字符的 Ant 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23234203/

相关文章:

Java:等于和==

java - Java EE API 规范的官方资源是什么?

linux - Perl 加密 STDIN 密码

linux - 安全删除 Bash 环境变量

java - 继承javadoc,不为继承源生成文档

java - 获取Decorator对象的所有类型 : type of wrapped objects and the type of wrapper object

java - 在给定时间间隔后删除子文件夹

ant - Maven Antrun和依赖项

php.ini 不改变值

java - Maven 可以做我们在这个 ANT build.xml 中所做的事情吗