我必须增加java堆空间来编译我的项目。我找到的唯一方法是修改mvn.bat并设置:
set MAVEN_OPTS=-XX:PermSize=256m -XX:MaxPermSize=256m -Xms1300M -Xmx1300M
比所有同事都必须更改文件localy。 我希望将所有内容保留在我的项目中,而不是本地。我可以在POM.xml或其他文件中插入吗?
答案 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>