2013-04-25 78 views
0

我想用maven構建一些.jar包。因爲我連接到互聯網通代理服務器,我的命令如下:java在命令行參數中忽略代理

mvn -DargLine="-Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=8080" install 

使這個創建的所有其他進程將使用這些設置。

然而,在測試過程中相叉進程嘗試下載一些軟件包即使它在其參數代理設置(ps ax | grep java顯示),我可以netstat -ntp看到,這個過程是直接連接到存儲庫忽略代理設置。

tcpdump顯示爲8080

任何想法沒有聯繫?

UPD:

所以,基本上我想建立的JBoss。據我瞭解,它由不同的子系統組成,它們應該分開構建。例如,我想構建jboss-as-cmp。沒有DargLine我的命令:

cd /root/jboss/jboss-eap-6.1.0.Alpha/jboss-eap-6.1-src/cmp 
mvn install 

在/root/.m2我MVN的settings.xml我加

<proxies> 
    <proxy> 
     <active>true</active> 
     <protocol>http</protocol> 
     <host>my.proxy.com</host> 
     <port>8080</port> 
    </proxy> 
</proxies> 

伊夫閱讀,保命插件可以configuried使用代理一樣,所以在我對於JBoss-AS-CMP的pom.xml我加

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <includes> 
       <include>org/jboss/as/cmp/**/*TestCase.java</include> 
      </includes> 
       <systemPropertyVariables> 
        <http.proxyHost>my.proxy.com</http.proxyHost> 
        <http.proxyPort>8080</http.proxyPort> 
       </systemPropertyVariables> 
     </configuration> 
    </plugin> 

我MVN版本

Apache Maven 3.0.5 (rNON-CANONICAL_2013-04-24_16-52_root; 2013-04-24 16:52:00+0300) 
Maven home: /usr/share/apache-maven-3.0.5 
Java version: 1.7.0_19, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19.x86_64/jre 
Default locale: en_GB, platform encoding: UTF-8 
OS name: "linux", version: "3.8.6-203.fc18.x86_64", arch: "amd64", family: "unix" 

環境變量:

M2_HOME=/usr/share/apache-maven-3.0.5 
PATH=/usr/share/apache-maven-3.0.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 

我還沒有改變的pom.xml任何其他設置的jboss-AS-CMP。

回答

2

通常使用在用戶家目錄/ .m2目錄/ settings.xml中

例發現你應該確定他們的代理在您的settings.xml是:

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

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

+0

我也試過這種方式,父進程使用代理設置,並且mvn下載一些依賴關係,但是當TESTS階段開始下載時,最終會出現「連接超時」,這是邏輯的--netstat顯示與存儲庫的直接連接。 – user2318316 2013-04-25 08:13:00

+0

您應該附上您的POM或您的POM的一部分,您的測試和測試範圍依賴關係已設置,以便我們可以獲得更清晰的圖像。你也嘗試刪除-DargLine,並直接聲明代理信息(在引號之外,並且像你在做的argLine一樣定義) – 2013-04-25 19:15:20

+0

請檢查第一篇文章的更新。 – user2318316 2013-04-26 06:29:54