在Ant中传递分号作为参数

我想通过“;;;” string作为我的Ant任务中的字符串参数:

 

但是Ant认为分号是一个特殊符号并引发错误

java.lang.IllegalArgumentException: Illegal group reference

我该怎么逃避; 将它传递给Ant的符号?

ps我也发现我不能通过{符号,
所以我想知道在Ant中逃避角色的常用方法是什么?
我试过“$; $; $;” 但它不适合我

更新:示例代码:

 public class MyTask extends Task { private String value; public void setValue(String value) { this.value = value; } public void execute() { System.out.println(value); } } 

和ant任务:

   

我对这个示例没有任何问题:

        param1: ${param1} param2: ${param2}  

输出:

回声
param1:;;;
回声
param2:{

可能是mytask任务的实现问题?

逃避分号使用: ;

有关完整列表,请参阅: http : //www.w3schools.com/TAGS/ref_ascii.asp

关于将特殊字符传递给ant的一个注意事项:

我曾经把密码传递给了antSQL任务,但它在特殊字符上失败了,例如@ $#%^&*!

切换& 工作,但其他字符,如$失败。

我最终直接在ant构建文件中替换了密码变量字符串(使用任何搜索替换脚本,如Linux的sed),而不是使用-D将参数发送到脚本。

因此,如果可能的话,不要浪费你的时间来逃避或切换你找到的任何特殊字符 – 尝试使用更简单的搜索替换解决方案。