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