M2e Eclipseプラグインのヒープサイズをどのように増やすのですか?基本的に、私は、プリインストールされたm2e(Eclipse用の人気のあるMavenプラグイン)を使用して、STS(SpringSourceのバージョンのEclipse)でCargoとSeleniumを使用して自動統合テストを実行しようとしています。
私が走るときはいつでも
mvn verify
悪名高いJava.lang.OutOfMemoryError:Javaヒープスペース... 63M/63M。そこで最初に調査を行いました。MAVEN_OPTS、Eclipseを使用してメモリを増やします。 .ini/STS.ini、Run Configurations、さらにはpom.xmlを介したMavenプラグイン経由でも何も変更されていません。同じエラーと同じ量のメモリ63M/63M。
私は自分のプロジェクトがうまくいくことを知っています。 POMは正しいです。どうして?スタンドアロンのMavenを使用して同じコマンドを実行すると。 SeleniumとCargoとの統合テストは機能します。実際、これが最新の出力です(3分前):
[INFO] [beddedLocalContainer] Jetty 8.x Embedded is stopped
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 minutes 24 seconds
[INFO] Finished at: Wed Oct 26 14:08:16 CST 2011
[INFO] Final Memory: 70M/149M
[INFO] ------------------------------------------------------------------------
スタンドアロンのMavenコマンドでメモリを増やす方法は尋ねていません。特に、m2eのヒープサイズを増やす方法を尋ねています。
注:デフォルトでは、m2eEclipseプラグインには「検証」目標へのショートカットがありません。 Run Configuration(Argsタブがないfyi)を使用して新しいものを作成する必要があります。
Maven 2プラグインを使用する場合、Eclipse.iniまたはMAVEN_OPTS環境変数でJavaオプションを設定しても、ビルドには影響しません。「構成の編集」および「構成の編集」を使用してコマンドライン引数を追加する必要があります。 Eclipseの「起動」ダイアログ。
「実行」>「Mavenビルド」、「JRE」タブをクリックし、VM args e.g.
-Xms128M -Xmx512M
すでに受け入れられている回答の続きとして、コマンドラインで「mvn」を呼び出すと、実際にはmvn.bat(またはmvn.sh)ラッパースクリプトが呼び出されます。実際のMavenjvmを開始するときにMAVEN_OPTSenv変数を使用するのはこのラッパースクリプトです。
一方、m2eは、Maven jvmのキックオフ方法をより細かく制御する必要があるため、ラッパーなしで直接これを実行します。これが、MAVEN_OPTSを使用するのではなく、メモリ設定をm2e実行/デバッグ構成VM引数に直接追加する理由です。
M2eでMAVEN_OPTSに既にあるものをmavenjvmに渡す場合は、Eclipseの[構成の編集と起動]ダイアログで次のようにします。
「実行」>「Mavenビルド」、「JRE」タブをクリックし、VM args e.g.
${env_var:MAVEN_OPTS}
Pom.xmlにメモリ設定を追加できます。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
...
<fork>true</fork>
<meminitial>128m</meminitial>
<maxmem>512m</maxmem>
...
</configuration>
</plugin>
すべてのmaven-compiler-pluginパラメーターの説明は次のとおりです: link
私も同様の問題に直面しました。 Windowsの場合はmavenrc_pre.bat、Linuxの場合は.mavenrcという名前のファイルをホームフォルダーに作成し、必要に応じてmaven_optsを設定します。 EclipseIndigoにバンドルされているm2eで動作しています。