我正在尝试用 maven 构建一些 .jar 包。由于我通过代理服务器连接到 Internet,我的命令如下所示:
mvn -DargLine="-Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=8080" install
这样由此创建的所有其他进程都将使用这些设置。
但是,在 TESTS 阶段,fork 进程尝试下载一些包,即使它的参数中有代理设置(ps ax | grep java
显示),我可以看到netstat -ntp
这个进程直接连接到存储库而忽略了代理设置。
tcpdump
显示没有与 8080 的连接。
有任何想法吗?
升级版:
所以,基本上我正在尝试构建 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>
我读过,surefire 插件也可以配置为使用代理,所以在我的 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
我没有为 jboss-as-cmp 更改 pom.xml 中的任何其他设置。