J'utilise Spring et struts et l'entrée suivante dans 'C: /source/webapp/WebContent/META-INF/context.xml' avec des jetons comme ' jdbc.username, jdbc.pwd, jdbc.server, jdbc.port et jdbc.databasename '.ANT remplacer la tâche - ne pas ramasser la valeur modifiée du fichier de propriétés
<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>
J'ai un répertoire de déploiement - 'C:/déploiement' et en utilisant ANT je construis le répertoire de déploiement de 'C:/source.
J'utilise la tâche ANT remplacer suivante,
<replace file="C:/deployment/META-INF/context.xml" replacefilterfile="C:/deployment/WEB-INF/classes/conf/int.properties" />
et remplacer jdbc.username jdbc.pwd, jdbc.server, jdbc.databasename
avec les valeurs des propriétés fichier.
Je ne sais pas comment obtenir les résultats suivants,
Si je change la valeur de « jdbc.server » clé dans le fichier de propriétés, ANT remplacer tâche ne remplace pas la valeur dans C:/déploiement/META-INF/context.xml '. Si je supprime le répertoire 'C:/deployment' et exécute la cible contenant la tâche de remplacement, alors elle change la valeur de 'jdbc.server' dans 'context.xml'.
Je souhaite remplacer la valeur modifiée sans supprimer le répertoire 'C:/deployment'. Comment faire ça Y a-t-il une autre tâche ANT disponible pour cette opération?
Merci Alexander pour me faire savoir ' tâche ne peut pas les trouver dans votre context.xml et, bien sûr, ne peut pas les remplacer' - avant de copier le context.xml, j'ai supprimé le context.xml déjà existant dans le répertoire de déploiement thro 'ANT delete, maintenant la tâche remplace la valeur des clés comme prévu. –
SyAu