2016-07-25 6 views
3

?maven -D 시스템 속성을 환경 변수로 바꿀 수 있습니까? <pre><code>mvn -DproxySet=true -DproxyHost=... -DproxyPort=... clean install </code></pre> <p></p> 내가 같은 일을 달성하기 위해 사용할 수있는 몇 가지 메이븐 envinronment 변수가 있습니까 : 나는 프록시를 통해 전달하는 시스템 속성을 사용하여 메이븐을 실행해야합니다 특정 환경에서

나는 이런 식으로 뭔가를 상상 :

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

내가 달성하고자하는 경우에만 실행하는 것입니다 :

mvn clean install 

을에 관계없이 나는 곳. (나는 프록시 뒤에 있는지 알려주는 환경 변수를 설정할 수있다.)

업데이트 :이 질문은 How do I use Maven through a proxy?과 중복되지 않는다. 프록시 없이도 원활하게 작업하기를 원하기 때문이다. -Dproxy... 속성을 입력하지 않고 인터넷 뒤에서 또는 인터넷에서 작업하고 싶습니다.

+0

@Tunaki 나는이 중복 생각하지 않습니다 - 그 대답은 전혀 환경 변수를 참조하지 않습니다. – OrangeDog

+0

참조 된 질문에서 사용자는 프록시 뒤에 OKNLY 작업을 원합니다. '-Dproxy ... '속성을 입력 할 필요없이 인터넷 뒤에서 또는 인터넷에서 작업하고 싶습니다. –

+0

@ Tunaki 한 가지 대답이 비슷한 경우 (정확하게 동일하지는 않음) 정확한 질문이 만들어지지 않기 때문입니다. – OrangeDog

답변

4

같은 것을 함께 Settings.XML의를 사용합니다 mvn.bat :

MAVEN_OPTS="-DproxySet=true -DproxyHost=..." 

경우, 당신은 항상 당신의 자신의 래퍼 스크립트를 작성할 수 없습니다.

또는, 환경의 값을 읽어 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을 사용하는 스크립트, 예를 들면 통해 메이븐를 호출하는 경우 내가

<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_ 컴퓨터가 때때로 프록시 뒤에 있고 때때로 그렇지 않습니다. 귀하의 질문에 당신이 다른 컴퓨터에 대한 메이븐 설정이 필요하다는 것을 이해했습니다. –