2016-07-25 6 views
3

maven -Dシステムのプロパティを環境変数に置き換えることはできますか?私は、プロキシ上を通過するために、システムのプロパティを使用してMavenを実行する必要がある特定の環境では

mvn -DproxySet=true -DproxyHost=... -DproxyPort=... clean install 

が、私は同じことを達成するために使用することができますが、いくつかのMaven envinronment変数はありますか?

私はこのようなものを想像するでしょう:関係なく、私はどこ

mvn clean install 

:私が達成したい何

PROXY_SET=true PROXY_HOST=... PROXY_PORT=... mvn clean install 

のみを実行することですが。 (私はプロキシの背後にいるかどうかを教えてくれる環境変数を設定できます)

更新:私はプロキシなしでシームレスに作業したいので、この質問はHow do I use Maven through a proxy?の複製ではありません。 -Dproxy...のプロパティを入力しなくても、インターネットの背後からでもインターネットからでも作業したいと思っています。

+0

@Tunaki私はこれが重複しているとは思わない - それらの答えは、すべての環境変数を参照しません。 – OrangeDog

+0

参照される質問で、ユーザーはプロキシの後ろでOKNLYを働かせたいと思っています。私は、 '-Dproxy ... 'プロパティを入力することなく、インターネットの背後とインターネットの両方から作業したいと思っています。 –

+0

@Tunakiちょうど1つの答えが類似している(まったく同じではない)ので、正確な重複が問題にならないからです。 – OrangeDog

答えて

4

ようなものでのsettings.xmlを使用しますmvn.bat

これは、あなた自身のラッパースクリプトを書くことができます。

また、あなたは環境から値を読み取るためにyour proxy settingsを設定できます。

<proxies> 
    <proxy> 
    <id>example-proxy</id> 
    <active>${env.PROXY_SET}</active> 
    <host>${env.PROXY_HOST}</host> 
    <port>${env.PROXY_PORT}</port> 
    ... 
+0

うん、 'MAVEN_OPTS'は私の仕事です。私はそれが私のネットワークに基づいて設定することができます。 –

1

あなたは、例えば、MAVEN_OPTSを使用するスクリプトを経由してMavenを起動している場合、私は

<proxies> 
    <proxy> 
    <id>example-proxy</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <host>proxy.example.com</host> 
    <port>8080</port> 
    <username>proxyuser</username> 
    <password>somepassword</password> 
    <nonProxyHosts>www.google.com|*.example.com</nonProxyHosts> 
    </proxy> 
</proxies> 

https://maven.apache.org/guides/mini/guide-proxies.html

+0

私はプロキシの背後にいないときにこれは動作しません。 –

+0

_same_コンピュータがプロキシの背後にあることがあり、時にはそうでないことがありますか?私はあなたの質問から、別のコンピュータにMaven設定が必要であることを理解しました。 –

関連する問題