0

我有一个令牌文件“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 文件中的实际值进行更新。请帮我解决这个问题。

4

1 回答 1

0

看看过滤器集和过滤器

将您的Queue.properties文件复制到其他地方,如下所示:

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

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

顺便说一句,我会在你的文件中替换${foo}语法。然后您不必指定and参数。另外,这就是人们期望看到的替代价值。@foo@Queue.propertiesbegintokenendtoken

警告:请勿将其作为就地更换。有一个<replace>任务与此非常相似,但会Queue.properties直接修改。这意味着您的Queue.properties文件将丢失其替换值,如果有人提交更改,当您需要再次执行此操作时,您将丢失它们。

于 2012-11-21T16:07:58.663 回答