我需要一些帮助来替换动态值。我是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脚本本身中声明的单个值。
如果您可以更改属性文件和/或模板,使属性文件中的属性名称与您想要在目标文件中替换的占位符完全匹配,那么您可以使用
来完成。<copy file="template.xml" tofile="target.xml" encoding="UTF-8">
<filterset begintoken="$${" endtoken="}" filtersfile="db.properties" />
</copy>
为了生成格式良好的XML输出,您还需要确保属性值在必要的地方进行了适当的XML转义,例如,如果您需要在值中使用&
字符,则需要在属性文件中使用&
。