[解決済み] MavenのOut of Memoryビルドの失敗
質問
今日から、mavenのコンパイルに失敗するようになりました。
[INFO] [ERROR] Unexpected
[INFO] java.lang.OutOfMemoryError: Java heap space
[INFO] at java.util.Arrays.copyOfRange(Arrays.java:2694)
[INFO] at java.lang.String.<init>(String.java:203)
[INFO] at java.lang.String.substring(String.java:1877)
[ERROR] メモリ不足です。メモリ量を増やすには、起動時に -Xmx フラグを使用してください (java -Xmx128M ...)
昨日の時点でmavenのコンパイルが正常に実行されていました。
今日の時点では、ヒープを上げただけで 3GB . また、私はコードの2-3マイナー行を変更しただけなので、この「メモリ不足」エラーは理解できません。
vagrant@dev:/vagrant/workspace$ echo $MAVEN_OPTS
-Xms1024m -Xmx3000m -Dmaven.surefire.debug=-Xmx3000m
EDIT: 失敗したモジュールのpom.xmlを変更して、投稿者のコメントを試しました。しかし、同じようにmavenのビルドエラーが発生しました。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<fork>true</fork>
<meminitial>1024m</meminitial>
<maxmem>2024m</maxmem>
</configuration>
</plugin>
どのように解決するのですか?
どのような 'web' モジュールのことを話しているのですか? 単純な戦争なのか、パッケージング型の戦争なのか?
Google の Web ツールキット (GWT) を使っていないのであれば、どんなものでも
gwt.extraJvmArgs
コンパイルプロセスをフォークするのは良いアイデアではないかもしれません。
MAVEN_OPTS
を完全に無視する 2 番目のプロセスを開始するため、解析がより困難になるからです。
そこで、MAVEN_OPTSを設定することでXmxを増やしてみる。
export MAVEN_OPTS="-Xmx3000m"
また、コンパイラを別プロセスにフォークしないこと
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
増加中
-XX:MaxPermSize=512m
は必要ないはずです。なぜなら、もしパーマのサイズが問題の原因であるなら、私はエラー
java.lang.OutOfMemoryError: PermGen space
それでも問題が解決しない場合は、さらなる解析のためにヒープダンプを作成するために
-XX:+HeapDumpOnOutOfMemoryError
. さらに、コンパイルの実行中に jvm に接続し、jvm のヒープ内部で何が起こっているかを見るために、java の bin ディレクトリにある jconsole.exe を使用することができます。
もう 1 つのアイデア (愚かなものであるかもしれません) は、マシン内部に十分な RAM があるかどうかということでした。メモリ サイズを定義することは良いことですが、ホストが 4GB しかない場合、OS、Java、MS-Office などによってすでに使用されているため、Java が定義されたメモリを使用できないという問題が発生する可能性があります。
関連
-
[解決済み】Spring Data Maven Buildsの「プラグインの実行はライフサイクル構成でカバーされていません」を解決する方法
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] Mavenスナップショットとは何か、なぜそれが必要なのか?
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] mavenで単一のテストメソッドを実行する
-
[解決済み] Mac OS XでのMavenのインストール
-
[解決済み] intellijでmavenの依存関係階層を表示する方法
-
[解決済み] repository tag under distributionManagement vs repositories?
-
[解決済み] mavenの依存関係のタイプ "bundle "の意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] "java.lang.OutOfMemoryError "です。Mavenビルドで「PermGen space」[重複] が発生する。
-
[解決済み] java.lang.OutOfMemoryError: MavenにおけるJavaのヒープ空間
-
[解決済み] install:install-fileで追加したjarファイルをローカルのmavenリポジトリから削除する方法は?
-
[解決済み] intellijでmavenの依存関係階層を表示する方法
-
[解決済み] Nexusでアーティファクトをデプロイするときのエラー
-
[解決済み] リソースのフィルタリングのためにmaven.build.timestampにアクセスする方法
-
[解決済み] GradleプロジェクトのmavenアーティファクトIDはどのように設定しますか?
-
[解決済み] コマンドラインでmavenのプロパティをオーバーライドするには?
-
[解決済み] Intellij 14でMavenプロジェクトのウィンドウを表示する方法|アップデート:Mavenプロジェクトで右側の「タブバー」が表示されない
-
[解決済み] JavascriptのWebアプリとJavaサーバー、すべてをMavenでビルドするか、WebアプリにはGruntを使うか?