現在、antを呼び出しているMavenビルドで奇妙な問題が発生しています。親pom内で、次のプロパティが定義されています。
<jboss.home>${env.JBOSS_HOME}</jboss.home>
Mavenを実行するときに-Djboss.homeを渡すことで、これをオーバーライドしようとしています。
このビルドには、アクティブ化するとAntビルドを呼び出すプロファイルが含まれています。
<ant antfile="build.xml" inheritRefs="true">
<target name="all"/>
</ant>
Antスクリプトはプロパティを使用します:-
<property name="jboss.dir" value="${jboss.home}"/>
続いてそれを出力します:-
<echo message="jboss dir is: ${jboss.dir}"/>
問題は、出力される値が${env.JBOSS_HOME}であるということです。
親pomの他のプロパティは、コマンドラインからオーバーライドできます。
Mavenビルド内の他の場所で使用すると、jboss.homeプロパティでさえオーバーライドされているように見えます。
コマンドのさまざまな組み合わせを試した後、Antに渡されたプロパティのセットは、コマンドラインからオーバーライドする前にpomsから解決されているように見えます。JBOSS_HOME環境変数を設定すると、この変数が使用されるすべての場所に正しい値が設定されます。
コマンドラインでこの変数をオーバーライドし、Antスクリプトでオーバーライドされた値を使用できるようにするために欠けているものはありますか?