使用Ant和Maven构建时出现OOM异常

本文介绍了解决Maven和Ant构建大项目时出现的内存溢出(OutOfMemory)问题的方法。通过调整Maven和Ant的配置文件中的Java堆内存大小,以及解决PermGenSpace异常,可以有效避免构建过程中的内存溢出问题。
[size=large] 今日更新测试环境时报OOM错误(工程中使用了Ant和Maven)
参照《Maven和Ant构建大项目时内存溢出的解决方案》——设置相应的参数OK
1. Maven的解决方案
找到文件%M2_HOME%\bin\mvn.bat,这就是启动Maven的脚本文件,找到该文件中以下代码所在的行: Java代码
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE... 它的意思是你可以设置一些Maven参数,我们就在该行下面加入以下行:
set MAVEN_OPTS= -Xms256m -Xmx512m
set MAVEN_OPTS= -Xms256m -Xmx512m
上述设置表示Java堆得大小范围为256M-512M,经过上述设置之后,当再运行Maven命令如 mvn -version 的时候,你会看到如下的输出:
c:\>mvn -version
c:\>set MAVEN_OPTS= -Xms128m -Xmx512m
.......
c:\>mvn -version
c:\>set MAVEN_OPTS= -Xms128m -Xmx512m
.......
2. Ant的解决方案
找到文件%ANT_HOME%\bin\ant.bat,这就是启动Ant的脚本文件,加入以下代码: set ANT_OPTS="-Xms128m -Xmx256m"
set ANT_OPTS="-Xms128m -Xmx256m"

3、按照文章中的说法调整了参数之后,build工程时又跑出了异常:PermGen Space的异常 。参照《java.lang.OutOfMemoryError: PermGen space及其解决方法》
[url]http://my.oschina.net/landrover/blog/2560 [/url]
在ant启动脚本中添加了MaxPermSize的参数后问题得到解决

4、 反思: 最起初碰到这个构建问题时我所想到的方法是重启电脑(因为平时我在本机出现此问题时都是重启tomcat便解决). 然而想到构建的工程在cvs上面... ... [/size]
Abnormal build process termination: "D:\javagj\idea\IntelliJ IDEA 2022.3.1\jbr\bin\java.exe" -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=D:\javagj\idea\IntelliJ IDEA 2022.3.1/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dpreload.project.path=E:/java_workspace/Zhgd4.0-Cloud -Dpreload.config.path=C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2022.3/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=7903707484277119235 -Dfile.encoding=GBK -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2022.3 "-Didea.home.path=D:/javagj/idea/IntelliJ IDEA 2022.3.1" -Didea.config.path=C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2022.3 -Didea.plugins.path=C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2022.3/plugins -Djps.log.dir=C:/Users/Administrator/AppData/Local/JetBrains/IntelliJIdea2022.3/log/build-log "-Djps.fallback.jdk.home=D:/javagj/idea/IntelliJ IDEA 2022.3.1/jbr" -Djps.fallback.jdk.version=17.0.5 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/Administrator/AppData/Local/JetBrains/IntelliJIdea2022.3/compile-server/zhgd-cloud_26beeabf/_temp_ -Djps.backward.ref.index.builder=true -Dtmh.instrument.annotations=true -Dtmh.generate.line.numbers=true "-Djps.kotlin.home=D:\javagj\idea\IntelliJ IDEA 2022.3.1\plugins\Kotlin\kotlinc" -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"C:\Users\ADMINI~1\AppData\Local\Temp\kotlin-idea-3171289915408307769-is-running\" -Dide.propagate.context=false -classpath "D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/jps-launcher.jar" org.jetbrains.jps.cmdline.Launcher "D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/jps-builders.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/jps-builders-6.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/jps-javac-extension.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/util.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/util_rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/annotations.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/3rd-party-rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/protobuf.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/jps-model.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/javac2.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/forms_rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/java/lib/aether-dependency-resolver.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/idea_rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/JavaEE/lib/jasper-v2-rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/lib/util.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/eclipse/lib/eclipse-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/eclipse/lib/eclipse-common.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/ant/lib/ant-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/JavaEE/lib/javaee-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/uiDesigner/lib/jps/java-guiForms-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/space/lib/space-java-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/devkit/lib/devkit-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/platform-langInjection/lib/java-langInjection-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/javaFX/lib/javaFX-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/javaFX/lib/javaFX-common.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/Groovy/lib/groovy-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/Groovy/lib/groovy-constants-rt.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/maven/lib/maven-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/gradle-java/lib/gradle-jps.jar;D:/javagj/idea/IntelliJ IDEA 2022.3.1/plugins/JPA/lib/jps/javaee-jpa-jps.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 50210 1602d901-bd98-43c6-8a4a-967c2a85f0cd C:/Users/Administrator/AppData/Local/JetBrains/IntelliJIdea2022.3/compile-server # OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d4400000, 536870912, 0) failed; error='页面文件太小,无法完成操作。' (DOS error/errno=1455) # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 536870912 bytes for G1 virtual space # An error report file with more information is saved as: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2022.3\compile-server\hs_err_pid42716.log
07-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值