1

GWT をコンパイルしようとすると、Maven ビルド プロセスが OS レベルで強制終了されるため、ビルドが終了せず、成功または失敗のいずれも報告されません。mvn3-X オプションを指定して実行したところ、次のようになりました。

[DEBUG] Execute command :
/bin/sh -c /usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java -Xmx512m -classpath <really_long_classpath> com.google.gwt.dev.Compiler -gen <path_loc> -logLevel INFO -style OBF -war <war_path> -localWorkers 1 <module_path>
./build.sh: line 2: 24139 Killed                  mvn3 -X clean install blah blah

コマンドを Maven から取り出して単独で実行すると、同じ失敗が発生します。ただし、Java を なしで実行すると/bin/sh -c、GWT は正常にコンパイルされます。

なぜ Maven は を使用するの/bin/shですか? 私のデフォルトのシェルUbuntu 10.04bash.

4

1 に答える 1

2

「sh -c」なしでコマンドが機能する理由はありませんが、誰にもわかりません。

このmvnコマンドは、maven クラスで Java を実行するための適切な Java 環境を設定する単なるシェル スクリプトです。/bin/shスクリプトの1行目に設定されているので使用します。使用したい場合bashは、スクリプトの最初の行!/bin/sh!/bin/bash.

とにかく、許可されているよりも多くのリソースを使用しているため、ubuntu がコンパイラを強制終了しているようです。/var/log/syslog ファイルを見て、カーネルがビルドを強制終了した理由を確認してください。

1-ワーカーのみを起動するようgwt-mavenに、プラグインを再構成してみてくださいpom.xml

 <localWorkers>1</localWorkers>

2- gwt コンパイラ プロセスのメモリを増やしてみます

 <extraJvmArgs>-Xmx1g</extraJvmArgs>

3-より多くのメモリでmavenを実行してみてください

 $ export MAVEN_OPTS="-Xmx1g"

4-シェルulimitを見て、適切なパラメーターを増やします

 $ ulimit -a
于 2013-10-09T08:55:07.077 に答える