私は定数付きJava構成ファイルを持っています。Ant:ソースファイル内のトークンを複数回置き換えます。
私はビルドに従って定数の値を置き換えるためにantを使用しています。プリコンパイル対象:
<replace
file="Config.java"
value="default"
propertyFile="${build.env}.properties">
<replacefilter
token="@[email protected]"
property="myprop.x"/>
</replace>
うまく動作します。しかし、私はこれを実行した後、私のソースファイルが変更されます。だから、もう一度実行すれば、@ mytoken @が最初に置き換えられたので何も置き換えられません。
私はEclipseで動作させたいので、Config.javaをプロジェクト外に置いてはいけません。ファイルが期待どおりになければ、多くのコンパイルエラーが発生します。
私はポストビルドターゲットや何かに戻って入れ替えることを考えていましたが、安全かどうかは分かりません。ビルドが失敗した場合、またはユーザーがスクリプトを中断した場合、スクリプトは実行されず、値は戻されません。
助けが必要ですか?前もって感謝します。
ベストソリューションは、Eclipseプロジェクトではなく、別の一時的な場所でビルドを実行することです。 – rsp
プロジェクトのコピーを作成してスクリプトを実行するという意味ですか?悪い考えではなく、スクリプト可能です。 – Ixx
はい、それは私の意味です。通常は、ソースリポジトリから空のビルドフォルダを取得し、ビルドとクリーンアップを行います。 – rsp