2011-02-16 6 views
2

squid 프록시 서버 뒤에있는 Maven에 문제가 있습니다.maven test behind proxy (squid)

원격 웹 서비스와의 외부 통신에 의존하는 시스템 모듈이 있습니다.

~/.m2/settings.xml에 내 maven 프록시 구성이 있지만 분명히 이러한 정보는 종속성 다운로드에만 사용되었습니다.

'mvn test'를 실행하면 이러한 구성이 명령 행 실행 호출에 사용되지 않습니다. 콘솔에 에코 된 명령입니다 :

${JAVA_HOME}/bin/java -jar /tmp/surefirebooter4156656684210940660.jar /tmp/surefire2646147996861949548tmp /tmp/surefire3498083351425809633tmp 

테스트 및 다른 메이븐 메소드 실행 중에 JVM에 인수를 전달하는 방법이 있습니까?

+0

게시 된 의견에 @의 요한-베르그에 의해 참조 된? –

답변

1

pom.xml에 몇 가지 인수를 수정하려면 surefire 플러그인 구성에서 -DforkMode=never을 직접 구성 할 수 있습니다. 즉

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
    <argLine>-DforkMode=never</argLine> 
    </configuration> 
</plugin> 

-DforkMode에 따라이 솔루션은 단순히 HTTP_PROXY ENV 변수를 설정 시도, this post에 의해 제안 here

4

아마도 이것은 당신에게 유용 할 수 있습니다 : How do I configure proxy settings for Java. 또는 당신이 시작 매개 변수를 시도 할 수 있습니다 :

-Dhttp.proxyHost=url 
-Dhttp.proxyPort=port 
-Dhttp.proxyUser=user 
-Dhttp.proxyPassword=pass 

은 [편집]을

이러한 속성은 MAVEN_OPTS에서 설정할 수 있습니다. This post은 이것이 테스트 프로파일에 대해 어떻게 작동하는지 설명합니다.

+0

Eclipse 환경에서 정의한 JRE jvmargs에 thios 구성이 있습니다. 그러나 MVN은이를 무시합니다. 명령 줄 환경에도 동일하게 적용됩니다. 어떻게하면 런타임 환경과 독립적으로 이러한 jvmargs를 mvn 컨텍스트에 주입 할 수 있습니까? 지금까지 의존성은 ~/.m2/settings.xml에 의해 지원됩니다. 각 사용자는 귀하의 정보를 가지고 있습니다. – apast

+1

[this] (http://maven.apache.org/settings.html#Proxies)가 현재 사용중인 것입니까? MAVEN_OPTS에 프록시 정보를 설정해 보셨습니까? 또한 [this] (http://stackoverflow.com/questions/824019/maven-2-1-0-not-passing-on-system-properties-to-java-virtual-machine) 문제를 살펴보십시오. –

+0

정확히 ~/.m2/settings.xml에 정의 된 구성입니다. MAVEN_OPTS를 확인하고 여기에서 신고하겠습니다. 도와 줘서 고마워! – apast