スーパー開発モードでテストしたい大規模なGWTアプリケーションがあります。
でアプリを実行する場合
mvn gwt:run-codeserver
OKでコンパイルされ、サーバーのURLが提供されます。この時点で、Webブラウザーでアプリを起動し、ブックマークレットを使用して再度コンパイルを試みます。この2回目のコンパイルでは、次のようなさまざまなメモリエラーが発生します。
Caused by: java.lang.OutOfMemoryError: Java heap space
...
[ERROR] Out of memory; to increase the amount of memory, use the -Xmx flag at startup (java -Xmx128M ...)
したがって、サーバーを実行しているJavaプロセスにより多くのメモリを割り当てる必要があることは周知の事実です。私が理解できないのは、それをどのように行うかです。
pom.xmlに次のものがあります
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.maven.version}</version>
<configuration>
<extraJvmArgs>-Xmx2048M -Xms1024M -Xss1024k -XX:MaxPermSize=256M -XX:PermSize=128M</extraJvmArgs>
</configuration>
</plugin>
私のMAVEN_OPTS環境変数はに設定されています
MAVEN_OPTS=-Xmx2048M
そして、私はMavenを実行してみました
mvn -Dgwt.extraJvmArgs=-Xmx2048M gwt:run-codeserver
また、OracleJDKとFedoraに付属のオープンソースJDKでも試してみました。
何も違いはありません。私はここで何が間違っているのですか?
アップデート
これはMavenプラグインの問題であり、コードの問題ではないことを確認できます。IntelliJの組み込みサポートであるSuperDevModeを使用してプロジェクトを実行すると、アプリケーションを正常にコンパイルおよび再コンパイルできます。つまり、これは、Mavenプラグインがアクセスできるメモリを増やす正しい方法を知ることになります。それは明らかに私が上で試した方法の1つではありません...