Maven2でプロジェクト管理していると、モジュールの数がどんどん多くなってきます。
すると、ビルドやプロジェクトサイト生成の時に
特にレポートをたくさん出力するように設定されているプロジェクトサイトを生成する時にはより多くのメモリを使うので、頻繁に
なお、物理メモリが不足している場合にはメモリの増設が必要です。
すると、ビルドやプロジェクトサイト生成の時に
OutOfMemoryError
が出るようになってしまいます。特にレポートをたくさん出力するように設定されているプロジェクトサイトを生成する時にはより多くのメモリを使うので、頻繁に
OutOfMemoryError
になります。なお、物理メモリが不足している場合にはメモリの増設が必要です。
MAVEN_OPTS
対策のひとつとして、MAVEN_OPTS
環境変数を使う方法があります。Maven2を実行しているJVMに対するVMパラメータを設定することが出来ます。
また、メモリ関連だけでなく、他のVMパラメータもこれで指定できます。
メモリ不足といっても、主に2種類のエラーが現れます。
Java heap space
実行中のオブジェクトなどのデータを格納するためのヒープサイズが不足していますので、ヒープサイズを増やすように設定します。$ MAVEN_OPTS='-Xmx1024m' mvn ~~
PermGen space
クラス情報などをロードするためのパーマネント領域が不足していますので、パーマネント領域を増やすように設定します。$ MAVEN_OPTS='-XX:MaxPermSize=256m' mvn ~~
ちなみにうちの環境では、
MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=256m'
くらいに設定していれば滅多にOutOfMemoryError
が出ることはありません。