定数を含む Java 構成ファイルがあります。
ビルドに応じて定数の値を置き換えるためにantを使用しています。プリコンパイル ターゲットの場合:
<replace
file="Config.java"
value="default"
propertyFile="${build.env}.properties">
<replacefilter
token="@mytoken@"
property="myprop.x"/>
</replace>
うまくいきます。しかし、これを実行すると、ソース ファイルが変更されます。@mytoken@ が最初に置き換えられたため、再度実行しても何も置き換えられません。
私は Config.java をプロジェクトの外に置きたくありません。なぜなら、それを eclipse で動作させたいからです。ファイルが予期された場所にない場合、多くのコンパイル エラーが発生します。
ビルド後のターゲットなどに戻すことを考えていましたが、それが安全かどうかはわかりません。ビルドが失敗した場合、またはユーザーがスクリプトを中断した場合、スクリプトは実行されず、値は元に戻されません。
何か助けはありますか?前もって感謝します。