代理(maquid)背后的maven测试

时间:2011-02-16 12:38:35

标签: java junit maven jvm-arguments

我在一个squid代理服务器后面遇到了Maven的问题。

我的系统模块依赖于与远程Web服务的外部通信。

我在〜/ .m2 / settings.xml下有我的maven代理配置,但显然,这些信息仅用于依赖项下载。

当我运行'mvn test'时,这些配置不会用于命令行执行调用。这是在控制台上回显的指令:

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

有一种方法可以在测试和其他maven方法执行期间将参数传递给JVM吗?

2 个答案:

答案 0 :(得分: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描述了这对测试配置文件的作用。

答案 1 :(得分: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的解决方案由this post建议,由@ johan-sjoberg在here发表的评论中引用