2

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

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

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

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

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

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

4

2 回答 2

4

也许您会对此感兴趣:如何为 Java 配置代理设置。或者,您可以尝试以下启动参数:

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

[编辑]

这些属性也可以在MAVEN_OPTS. 这篇文章描述了这将如何用于测试配置文件。

于 2011-02-16T12:41:05.677 回答
1

要修复一些参数pom.xml,我们可以-DforkMode=never直接在surefire插件配置上进行配置。IE

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

这篇文章-DforkMode提出了基于的解决方案,@johan-sjoberg 在此处发布的评论中引用了该解决方案

于 2011-02-16T14:46:08.410 回答