在POM.xml中插入MAVEN_OPTS

时间:2014-05-15 08:29:04

标签: maven pom.xml

我必须增加java堆空间来编译我的项目。我找到的唯一方法是修改mvn.bat并设置:

set MAVEN_OPTS=-XX:PermSize=256m -XX:MaxPermSize=256m -Xms1300M -Xmx1300M

比所有同事都必须更改文件localy。 我希望将所有内容保留在我的项目中,而不是本地。我可以在POM.xml或其他文件中插入吗?

1 个答案:

答案 0 :(得分:6)

设置MAVEN_OPTS通常为运行构建的JVM提供参数,并且这些参数传递给编译器,因为它以内联方式运行。您可能已经注意到用于测试的maven-surefire-plugin通常会分叉一个单独的进程,因此将选项传递给插件会绑定到pom.xml中。

如果你也分叉编译过程并在那里添加标志,如下例所示。

注意fork和编译器args

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <fork>true</fork>
          <meminitial>128m</meminitial>
          <maxmem>512m</maxmem>
          <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>