0

我需要一些帮助来替换动态值。我是 ant 脚本的新手,需要一些帮助。

我目前在服务器上有一个文件,它将保存特定于该服务器的属性。即数据库连接细节

ydkprefs.dbClassName=com.ibm.db2.jcc.DB2Driver
ydkprefs.dbType=DB2
ydkprefs.dbURL=jdbc:db2://localhost:50000/application
ydkprefs.dbschema=SCHEMA
ydkprefs.dbUsername=db2inst1

然后我有一个带有动态属性的模板 xml 文件,即

 <Database Name=${dbName} className="${dbClassName}"
                dbType="${dbType}" folder=""
                jdbcURL="${dbURL}"
                schema="${dbschema}" user="${dbUsername}"/>

我浏览了许多网站,但我并不聪明。最有希望的信息。我发现唯一可行的方法是替换 ant 脚本本身中声明的单个值。

4

1 回答 1

1

如果您可以更改属性文件和/或模板以使其属性文件中的属性名称与您要在目标文件中替换的占位符完全匹配,那么您可以使用

<copy file="template.xml" tofile="target.xml" encoding="UTF-8">
  <filterset begintoken="$${" endtoken="}" filtersfile="db.properties" />
</copy>

为了产生格式良好的 XML 输出,您还需要确保在必要时对属性进行正确的 XML 转义,例如,如果您需要&在值中使用字符,那么它需要&amp;在属性文件中。

于 2013-05-23T10:39:16.410 回答