どうやら、Eclipse Maven プラグインは Maven ビルド中に環境変数を無視するようです。可能な回避策 (状況によっては機能する可能性があります) は、settings.xml のプロパティを使用することです。唯一の欠点は、これらの変数を環境変数として定義し、settings.xml でもう一度定義する必要があることです。
私の答えでは、次のシナリオについて説明しています。標準の Maven プラグイン機能を使用して Eclipse でアーティファクトを構築し、さらに Maven コマンド ラインを介して同じアーティファクトを構築します。また、コマンドラインビルド中に、リポジトリフォルダーを直接参照しています mvn -Dmaven.repo.local=/PATH_TO_M2_FOLDER/repository/ -f parent.pom install
セットアップは次のとおりです。環境変数のプロキシとして機能するように、pom.xml にプロパティを追加する必要があります。コマンド ライン シナリオでは、これらのプロパティは直接入力されます。Eclipse のシナリオでは、プロファイルを定義することにより、ユーザーの settings.xml によってプロパティを入力する必要があります。
環境変数 $FOO のプロパティがあるとします。
Maven settings.xml でプロファイルを使用し、fooProperty を定義します。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>default</id>
<properties>
<fooProperty>bar</fooProperty >
</properties>
</profile>
</profiles>
...
<activeProfiles>
<activeProfile>default</activeProfile>
</activeProfiles>
</settings>
次に、Eclipse maven プラグインをユーザー設定にポイントするだけです。CLI を機能させるには、pom.xml で fooProperty をもう一度定義する必要があります: ${env.foo}
どうやらEclipse Mavenプラグインは、pom.xmlのプロパティよりも高いsettings.xmlのプロパティを優先します。残念ながら、環境変数を介して settings.xml でプロパティを定義する方法がわかりません。
pom.xml で変数を使用する場合は、次のようにプロキシ プロパティのみを使用します。 ... ${fooProperty} ...
使用しています * Eclipse Mars: Release (4.5.0) * Embedded Maven: 3.3.3/1.6.0.20150526-2031 * OSX El Capitan: 10.11.4 (15E65)