maven - 在 POM.xml 中插入 MAVEN_OPTS

标签 maven pom.xml

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

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

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

最佳答案

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

如果你也 fork 编译过程并在那里添加标志怎么办,例如下面的例子。

注意 fork 和编译器参数

<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>

关于maven - 在 POM.xml 中插入 MAVEN_OPTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23672992/

相关文章:

maven - 如何从 Plexus 组件获取当前 MavenSession 或 MavenExecutionRequest

Java jar 在 maven 资源文件夹中找不到文件

java - 应用程序无法启动

java - 包含所有 Apache Commons 组件版本的全局 pom.xml 在哪里?

java - mvn jetty :run failing Caused by: java. lang.RuntimeException : Error scanning entry META-INF/versions/9/javax/xml/bind/ModuleUtil. 类

maven - 具有排除项的依赖项列表的正确 Gradle 语法是什么?

java - 获取maven项目的所有依赖

java - 在 JUnit 中运行所有测试后调用方法

java - Maven 没有将所有依赖项添加到 jar

maven - 如何从 Maven Reactor 构建中排除模块及其子模块?