2

ANTはXMLファイルの値を変更できますか?

私はJava、Springシステムに取り組んでおり、XMLファイルには、サーバー名、ユーザー名、パスワードなど、システムを宣伝している環境ごとに変更する必要があるものがあります。ANTスクリプトでSAにサーバー名、ユーザー名の入力を求めてから、xmlファイルの値を置き換えたいと思います。

4

4 に答える 4

3

以前は @someProperty@ のようなプレースホルダーを使用して単純な検索と置換を行っていましたが、XmlTask​​ を使用できます。これを使用して、EAR のコンテキスト ルートを変更します。XML 名前空間がナンセンスであるため、あまりきれいではありません。

<xmltask source="META-INF/application.xml"  report="true" failwithoutmatch="true" dest="META-INF/application.xml">
     <replace path="//*[local-name()='application']//*[local-name()='module'][@id='WebModule_XXXX']//*[local-name()='web']//*[local-name()='context-root']/text()" withText="${contextRoot}"/>
</xmltask>

しかし、必要なものを変更するには、Spring 3.1 プロファイルを使用し、プロパティ ファイルで環境プロファイルを切り替えるだけです。開発、automatic-uat、qa、および本番用に個別のプロファイルがあります。

于 2012-05-04T12:56:54.093 に答える
2

文字列置換のAnt replace タスクを確認してください。プレースホルダーに適した文字列を選択してください。

入力タスクを使用して、必要な値を収集できます。

于 2012-05-04T12:55:47.653 に答える
1

PropertyPlaceholderConfigurator から Spring xml ファイルにプロパティをロードすることも検討してください。次に、プロパティを標準の Java .properties ファイルに保持し、階層を介してプロジェクトをプロモートするときに必要に応じて編集できます。ここに中途半端な例があります:

于 2012-05-04T13:19:04.580 に答える