我有一个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文件中的实际值进行更新。请帮我解决这个问题。
答案 0 :(得分:0)
将Queue.properties
文件复制到其他地方:
<copy file=${queue.properties.file}
todir="${target.dir}">
<filterset begintoken="${"
endtoken="}"
filterfile="${xpression.property.file}"/>
</copy>
这将使用“xpressionProperty.txt”中的值替换Queue.properties中的参数。
顺便说一下,我会在${foo}
文件中仅使用@foo@
替换Queue.properties
语法。然后,您不必指定begintoken
和endtoken
参数。此外,这是人们期望看到的替代价值。
警告:请勿将其替换为替换。有一个<replace>
任务与此非常相似,但会直接修改Queue.properties
。这意味着您的Queue.properties
文件将丢失其替换值,如果有人提交更改,您将在需要再次执行此操作时丢失它们。