我正在尝试使用maven构建一些.jar包。由于我通过代理服务器连接到Internet,因此我的命令如下所示:
mvn -DargLine="-Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=8080" install
以便由此创建的所有其他进程将使用这些设置。
然而,在TESTS阶段,fork进程尝试下载一些软件包,即使在其参数中有代理设置(ps ax | grep java
显示),我可以看到{{1此进程直接连接到存储库而忽略代理设置。
netstat -ntp
显示没有与8080的连接。
有什么想法吗?
UPD:
所以,基本上我正在尝试构建JBoss。据我所知,它由不同的子系统组成,应该单独构建。例如,我想构建jboss-as-cmp。没有DargLine的命令:
tcpdump
到/root/.m2中的mvn settings.xml我添加了
cd /root/jboss/jboss-eap-6.1.0.Alpha/jboss-eap-6.1-src/cmp
mvn install
我已经读过,surefire插件也可以配置为使用代理,所以在我的pom.xml中为jboss-as-cmp添加了
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>my.proxy.com</host>
<port>8080</port>
</proxy>
</proxies>
我的mvn版本
<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>
环境变量:
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"
我没有更改pom.xml中jboss-as-cmp的任何其他设置。
答案 0 :(得分:2)
通常要使用代理,您应该在user-home-dir / .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>