maven編譯出現Java heap space


 最近拿到別組工程代碼准備開搞,剛用maven打包編譯就出現“java.lang.OutOfMemoryError: Java heap space”,很明顯是jvm heap的分配不夠,設置jvm的heap需要用Xmx參數,直接修改%M2_HOME%/bin/mvn.bat文件,這個是windows下maven的啟動腳本,看到有一行

@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
  

 在后面添加-XX:Xmx=1024M 設置下jvm的最大堆。若讀者是linux系統則修改同目錄下的mvn腳本。

 

周末看《maven實戰》,書上不太建議我們去修改mvn.bat文件,若修改該文件,我們在升級maven版本的時候,又要重新修改mvn.bat/mvn文件,不利於系統升級,給的建議是設置為環境變量,

   Windows下添加環境變量MAVEN_OPTS的value為-Xms1024m -Xmx1024m -Xss1m
   Linux下可修改.profile或者.bash_profile文件,並做如下設置:
               export MAVEN_OPTS=”-Xms1024m -Xmx1024m -Xss1m”(注意:這里需要使用雙引號或者單引號)

 

備注:

   解決自動熱部署時java.lang.OutOfMemoryError: PermGen space問題解決這一問題只需要增大PermGen區,默認為 64m,設置方法為:

  set MAVEN_OPTS=-XX:MaxPermSize=128M

  具體的參數值,可根據應用來決定


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM