【发布时间】:2010-12-23 21:07:18
【问题描述】:
我正在使用 Spring 和 struts,并在“C:/source/webapp/WebContent/META-INF/context.xml”中有以下条目,其中包含“jdbc.username、jdbc.pwd、jdbc.server、 jdbc.port 和 jdbc.databasename'。
<Context cachingAllowed="false" useHttpOnly="true">
<Resource name="jdbc/xxx" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="100" maxIdle="30" maxWait="10000"
username="jdbc.username" password="jdbc.pwd"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://jdbc.server:jdbc.port;databaseName=jdbc.databasename;"/>
</Context>
我有一个部署目录 - 'C:/deployment' 并使用 ANT 我从 'C:/source' 构建部署目录。
我使用下面的 ANT 替换任务,
<replace file="C:/deployment/META-INF/context.xml" replacefilterfile="C:/deployment/WEB-INF/classes/conf/int.properties" />
并替换 jdbc.username,jdbc.pwd,jdbc.server,jdbc.databasename
使用属性文件中的值。
不知道如何实现以下,
如果我在属性文件中更改键“jdbc.server”的值,ANT 替换任务不会替换 'C:/deployment/META-INF/context.xml' 中的值。如果我删除目录“C:/deployment”并执行 包含替换任务的目标,然后它会更改 'context.xml' 中的 'jdbc.server' 的值。
我想替换更改的值而不删除目录“C:/deployment”。这个怎么做。是否有任何其他 ANT 任务可用于此操作?
【问题讨论】: