【发布时间】:2015-05-25 22:18:28
【问题描述】:
我的 Scala 项目(由 Maven 管理)未能在 Travis 上构建,尽管使用相同的 MAVEN_OPTS=-Xmx3g -XX:MaxPermSize=512m 在本地编译良好,但仍会引发 GC overhead limit exceeded 错误。我怀疑 Travis 以某种方式忽略了我的 MAVEN_OPTS:当我尝试针对 Oracle JDK 8 进行测试时,Travis 记录:
$ Setting environment variables from .travis.yml
$ export MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx3g"
看起来不错。但是,在它登录后不久:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=192m; support was removed in 8.0
这很麻烦,因为我现在没有指定-XX:MaxPermSize=192m,只指定512m。 (这让我相信我的-Xmx3g 也被忽略了,导致编译失败。)
我尝试在我的 pom 中的许多其他位置指定 MAVEN_OPTS,但无济于事。例如,对于 maven-scala-plugin,我有:
<configuration>
...
<jvmArgs>
<jvmArg>-Xmx3g</jvmArg>
<jvmArg>-XX:MaxPermSize=512m</jvmArg>
</jvmArgs>
</configuration>
而且我在 maven-surefire-plugin 和 scalatest 插件下也有以下内容,尽管在编译期间构建失败而不是测试:
<configuration>
<argLine>-Xmx3g -XX:MaxPermSize=512m</argLine>
</configuration>
以下是我的 .travis.yml 的全部内容:
language: java
env:
global:
- MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx3g"
script: mvn clean install
jdk:
- oraclejdk8
- oraclejdk7
我正在使用 Scala 2.11.2 和 scala-maven-plugin 3.2.0。
【问题讨论】:
标签: scala maven travis-ci scala-maven-plugin