0

请在这里使用 ant 脚本帮助我执行以下提到的任务,因为我坚持使用它并且无法通过。

我有如下属性文件:

AccessSession/OperatorCode=生产

访问会话/密码=%587931#

等等....

XML内容如下:(缩短的xml内容)

<application xmlns="http://www.tibco.com/xmlns/ApplicationManagement" 
name="PurchaseAdhocBundle">
<description></description>
<contact></contact>
<NVPairs name="Global Variables">
    <NameValuePair>
        <name>AccessSession/OperatorCode</name>
        <value>TM Production</value>
    </NameValuePair>
    <NameValuePair>
        <name>AccessSession/Password</name>
        <value>%T3lkom9525#</value>
    </NameValuePair>

等等....

我希望脚本使用属性文件中给出的实际属性值更新 XML 文件中的值标记

<application xmlns="http://www.tibco.com/xmlns/ApplicationManagement" 
name="PurchaseAdhocBundle">
<description></description>
<contact></contact>
<NVPairs name="Global Variables">
    <NameValuePair>
        <name>AccessSession/OperatorCode</name>
        <value>Production</value>
    </NameValuePair>
    <NameValuePair>
        <name>AccessSession/Password</name>
        <value>%587931#</value>
    </NameValuePair>
4

1 回答 1

0

我建议在 ANT 复制任务中使用过滤器集将值替换为模板文件。

例子

├── build.properties
├── build.xml
├── src
│   └── template.xml
└── target
    └── output.xml

build.properties

AccessSession/OperatorCode=Production
AccessSession/Password=%587931#

构建.xml

<project name="demo" default="build">

  <property file="build.properties"/>

  <target name="build">
    <copy file="src/template.xml" tofile="target/output.xml">
      <filterset>
        <filter token="OPERATOR_CODE" value="${AccessSession/OperatorCode}"/>
        <filter token="PASSWORD" value="${AccessSession/Password}"/>
      </filterset>
    </copy>
  </target>

</project>

src/模板.xml

包含可替换标记的模板

<application xmlns="http://www.tibco.com/xmlns/ApplicationManagement" 
name="PurchaseAdhocBundle">
<description></description>
<contact></contact>
<NVPairs name="Global Variables">
    <NameValuePair>
        <name>AccessSession/OperatorCode</name>
        <value>@OPERATOR_CODE@</value>
    </NameValuePair>
    <NameValuePair>
        <name>AccessSession/Password</name>
        <value>@PASSWORD@</value>
    </NameValuePair>

目标/输出.xml

ANT 构建生成的输出文件。

<application xmlns="http://www.tibco.com/xmlns/ApplicationManagement" 
name="PurchaseAdhocBundle">
<description></description>
<contact></contact>
<NVPairs name="Global Variables">
    <NameValuePair>
        <name>AccessSession/OperatorCode</name>
        <value>Production</value>
    </NameValuePair>
    <NameValuePair>
        <name>AccessSession/Password</name>
        <value>%587931#</value>
    </NameValuePair>
于 2017-04-14T20:52:31.710 回答