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