Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
从文件中搜索令牌并在另一个ant中替换_Ant - Fatal编程技术网

从文件中搜索令牌并在另一个ant中替换

从文件中搜索令牌并在另一个ant中替换,ant,Ant,我有一个toke文件“xpressionProperty.txt”,它有如下键值对 MQ_QUEUE_MANAGER=QM_XPN MQ_HOSTNAME=10.12.49.17 MQ_PORT=5551 MQ_CHANNEL=CHNL.XPN MQ_USERID=mqm MQ_PASSWORD=abc INPUT_QUEUE1=PREPROCESSOR.QP1 INPUT_QUEUE2=PREPROCESSOR.QP2 ERROR_QUEUE=ERROR.QP1 我的属性文件是“Queue.

我有一个toke文件“xpressionProperty.txt”,它有如下键值对

MQ_QUEUE_MANAGER=QM_XPN
MQ_HOSTNAME=10.12.49.17
MQ_PORT=5551
MQ_CHANNEL=CHNL.XPN
MQ_USERID=mqm
MQ_PASSWORD=abc
INPUT_QUEUE1=PREPROCESSOR.QP1
INPUT_QUEUE2=PREPROCESSOR.QP2
ERROR_QUEUE=ERROR.QP1
我的属性文件是“Queue.properties”,它具有以下值

MQ_QUEUE_MANAGER=${MQ_QUEUE_MANAGER}
MQ_HOSTNAME=${MQ_HOSTNAME}
MQ_PORT=${MQ_PORT}
MQ_CHANNEL=${MQ_PORT}
MQ_USERID=${MQ_USERID}
MQ_PASSWORD=${MQ_PASSWORD}
INPUT_QUEUE1=${INPUT_QUEUE1}
INPUT_QUEUE2=${INPUT_QUEUE2}
ERROR_QUEUE=${ERROR_QUEUE}
当我运行ant命令Queue.properties时,应该使用xpressionProperty.txt文件中的实际值更新文件。请帮我解决这个问题。

看一看

Queue.properties
文件复制到其他位置,如下所示:

<copy file=${queue.properties.file}
   todir="${target.dir}">
   <filterset begintoken="${"
       endtoken="}"
       filterfile="${xpression.property.file}"/>
</copy>

这将用“xpressionProperty.txt”中的值替换Queue.properties中的参数

顺便说一句,我想在
Queue.properties
文件中将
${foo}
语法替换为
@foo@
。然后不必指定
begintoken
endtoken
参数。此外,这也是人们期望看到的替代价值

警告:不要将此作为就地更换进行操作。有一个与此非常类似的
任务,但会直接修改
队列.properties
。这意味着您的
Queue.properties
文件将丢失其替换值,如果有人提交更改,您将在需要再次执行此操作时丢失这些更改