maven-jetty-plugin から実行される Jetty の VM 引数を設定するには?
たとえば-Xmx
、コマンドによって実行される Jetty に引数を渡す必要がありmvn jetty:run
ます。
maven-jetty-plugin から実行される Jetty の VM 引数を設定するには?
たとえば-Xmx
、コマンドによって実行される Jetty に引数を渡す必要がありmvn jetty:run
ます。
環境変数 MAVEN_OPTSが答えです。MAVEN_OPTS の文字列コンテンツが JVM (java.exe) に渡されます。
export MAVEN_OPTS=....
set MAVEN_OPTS=...
例: Windowsset MAVEN_OPTS="-Xmx1024m"
では、Maven プロセスのヒープ サイズを 1024mb に設定します。
更新(01.04.2013): Jetty に直接渡します。
Matthew Farwell (彼の回答に賛成票を投じて彼の功績を認めてください) には、分岐した JVM プロセスを使用して Jetty プラグインの新機能であるJetty を実行するソリューションが付属しています。前者は Maven と同じ JVM プロセス内で実行される (したがってメモリを共有する) ため、これはより優れたソリューションです。
maven-jetty-pluginの最新バージョンでは、を使用できますmvn:run-forked
。オプションjvmArgsを使用すると、-Xmxなどを設定できます。
詳細については、以下を参照してください。jetty:run-forked:アセンブルされていないWebアプリケーションを別のjvmで実行します。
元々の問題は、別のJVMでJettyを起動することだったと思います。
現在のアプローチは正しいようです。桟橋をMavenに通す場合、JettyはMavenプロセス内のスレッドです。したがって、Mavenのヒープを増やすと、桟橋のヒープが増えます。
MAVEN_OPTSをどのように設定していますか?
私が見つけた1つの例は次のようになります。 MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run
これはここでは環境変数であり、JVMに渡されないことに注意してくださいMAVEN_OPTS
(JVMはそれをどうするかわからないでしょう)。
ここ<jvmArgs>
で言及されているパラメーター: Maven jetty plugin
did not work for me .
Maven バージョン: Apache Maven 3.0.3
Jetty Maven プラグインのバージョン: jetty-maven-plugin:8.1.10.v20130312
これはうまくいきました:
MAVEN_OPTS='-Xmx4096m -Xms4096m'
export MAVEN_OPTS
mvn jetty:run &
Linux/Unix の場合
export MAVEN_OPTS="-Xmx256m" && mvn clean install jetty:run
トリックを行います
プラグインを使用すると、次のように jvmArgs を指定できます。
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<jvmArgs>-Xmx1024</jvmArgs>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
<webAppConfig>
<jettyEnvXml>jetty-env.xml</jettyEnvXml>
</webAppConfig>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
</executions>
</plugin>