2012-11-21 48 views
0

我有一個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

看看filtersets and filters

複製到其他地方你Queue.properties文件是這樣的:

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

,將取代在Queue.properties發現在「xpressionProperty.txt」的值的參數。

順便說一下,我會在Queue.properties文件中將${foo}語法替換爲@[email protected]。然後,您不必指定begintokenendtoken參數。另外,這正是人們期望看到的替代價值。

警告:請勿在此處執行此操作,替換爲。有一個<replace>任務與此非常相似,但會直接修改Queue.properties。這意味着您的Queue.properties文件將失去其替換值,並且如果有人提交了更改,當您需要重新執行此操作時,您將丟失它們。