MavenでOutOfMemoryErrorが出たときの解決方法

MavenでOutOfMemoryErrorが出たときの解決方法です。

MavenでOutOfMemoryErrorが出たときの解決方法

Maven2で作ったプロジェクトの規模が大きくなってきたこともあり、MavenコマンドでOutOfMemoryErrorが出ました。

実行したコマンドは下記です。

mvn clear install

クラス数は約730。コンパイル中にOutOfMemoryErrorが発生。原因はJava heap spaceによるもの。

ここでは MavenでOutOfMemoryErrorが出たときの解決方法 を紹介します。


環境変数MAVEN_OPTSを設定する

MavenでOutOfMemoryErrorが出たら、環境変数に「MAVEN_OPTS」を設定します。MAVEN_OPTSは、Maven2を実行しているJVMに対して、VMパラメータを設定することができます。

Java heap spaceの場合

エラーが「Java heap space」によるものの場合、ヒープサイズが不足しているので、増やしてあげます。ヒープサイズは、実行中のオブジェクトなどのデータを格納するために使われます。

export MAVEN_OPTS='-Xmx1024m'

PermGen spaceの場合

エラーが「PermGen space」によるものの場合、パーマネント領域が不足しているので、増やしてあげます。パーマネント領域は、クラス情報などをロードするために使われます。

export MAVEN_OPTS='-XX:MaxPermSize=1024m'

Windowsの場合

Windowsの場合、下図のような設定をしておけば、OutOfMemoryErrorは回避できると思いますよ。

  • 変数名:MAVEN_OPTS
  • 変数値:-Xmx1024m -XX:MaxPermSize=1024m

環境変数MAVEN_OPTSを設定する

まとめ

MavenでOutOfMemoryErrorが出たときの解決方法を紹介しました。

筆者の環境は、メモリ4Gしかない低スペックのWindows10搭載PCでしたが、上記の設定でOutOfMemoryErrorは回避できました。ただ、Eclipseを起動しているとOutOfMemoryErrorになったので、メモリが厳しい場合には、余計なアプリはすべて停止してから実行した方がいいかも。物理メモリが不足している場合には、メモリ増設して対応くださいね。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。