Maven環境で、ビルド時にOutofMemoryエラーが発生する時の対処法
Maven環境で、Java VMのヒープサイズが足りず、ビルド時にOutofMemoryエラーが発生する場合があります。
この場合、MacのターミナルとIntelliJで解決する方法をそれぞれ紹介します。
まず、Macターミナルの場合は、下記のコマンドで一時的にヒープサイズを増やし、解決することができます。
export MAVEN_OPTS=-Xmx3072m
自分の場合は3072m(3GB)を割り当てましたが、プロジェクト次第で、必要なメモリが違うので、増やしても失敗する時は、もう少し大きく割り当てて再ビルドしてみましょう。
また、IntelliJ上で解決する場合は、ググってみるとidea.vmoptions
ファイル上の-Xmx
の値を増やせば解決できるという回答もありましたが、ここで値を修正するのではなく、下のところの値を修正することで解決できました。
(IntelliJ)Settings -> Build, Execution, Deployment -> Compiler -> Build process heap size (MBytes)
idea.vmoptions上でメモリを増やしても解決できない理由は、ビルド時のコンパイラーは別のJVMで起動するため、idea.vmoptionsで設定した基本オプションは効かないので、上の手順で別途設定が必要だそうです。
また、自分の場合は、こうしてメモリを増やしてビルドが成功する時は、ビルド完了まで5分もかからず、メモリ不足でビルドが失敗する時は、エラーでビルドが失敗するまで30分以上もかかったりしていました。 ビルドに時間がかかりすぎる場合なども、一旦キャンセルし、メモリを増やした後リトライすることも良いかもしれません。
<参考>
https://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
https://stackoverflow.com/questions/8581501/how-can-i-give-the-intellij-compiler-more-heap-space