编程语言
首页 > 编程语言> > java-Maven似乎不将参数传递给JVM

java-Maven似乎不将参数传递给JVM

作者:互联网

我正在尝试编译依赖于OrmLite的Android应用程序,无论如何我仍然会收到OutOfMemory错误.

我认为Maven不传递有关堆大小的任何参数的原因是,我只能在其输出中看到以下内容:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -jar /Users/mikhail.borozdin/android-sdk-macosx/platform-tools/lib/dx.jar –dex- -output = /用户/mikhail.borozdin/Documents/workspace/AndroidOrmLiteTest/target/classes.dex

我如何尝试将参数传递给JVM?

>出口MAVEN_OPTS = -Xmx2048m
> mvn -X install -DargLine =“-Xmx2048m”
>在pom.xml中设置我的插件
>在pom.xml中设置我的插件

这些都不起作用.

解决方法:

如果您正在构建的项目使用的是android-maven-plugin,则需要在maven pom.xml文件中设置dex mojo configuration,例如:

<dex>
  <jvmArguments>
    <jvmArgument>-Xms256m</jvmArgument>
    <jvmArgument>-Xmx512m</jvmArgument>
  </jvmArguments>
</dex>

这是来自完整pom.xml文件的示例:

https://github.com/rtyley/agit/blob/a014c970/pom.xml#L116-121

请注意,用于dex配置的特定xml在运行android-maven-plugin版本3.0.0(具有许多其他重要改进)的发布过程中进行了一些改进-我建议您确保使用此版本,并且该配置肯定是使用< dex>节点.

版本v3.0.0后的android-maven-plugin will use a 1GB heap by default(在撰写本文时尚未发布).

标签:maven,out-of-memory,java,android
来源: https://codeday.me/bug/20191101/1986883.html