web-dev-qa-db-ja.com

VM maven-jetty-pluginの引数を制御するには?

VM maven-jetty-pluginから実行されるJettyの引数を設定するには?

たとえば、-Xmxコマンドで実行されるJettyにmvn jetty:run引数を渡す必要があります。

50
Michal Bernhard

環境変数MAVEN_OPTSが答えです。 MAVEN_OPTSの文字列コンテンツはJVM(Java.exe)に渡されます。

  • Linux:シェルタイプexport MAVEN_OPTS=....
  • Windows:シェル(cmd.exe)でset MAVEN_OPTS=...

例:Windowsの場合set MAVEN_OPTS="-Xmx1024m"は、Mavenプロセスのヒープサイズを1024mbに設定します。

Update(01.04.2013):Jettyに直接渡します。

Matthew Farwell( 彼の答え を称賛してください)は、分岐したJVMプロセスを使用して Jettyプラグインの新機能 であるJettyを実行するソリューションに付属しています。前者はMavenと同じJVMプロセス内で実行されるため、これはより優れたソリューションです(メモリを共有します)。

56
Michal Bernhard

Maven-jetty-pluginの最新バージョンでは、mvn:run-forked。オプションjvmArgsを使用すると、-Xmxなどを設定できます。

詳細については、「 jetty:run-forked:個別のjvmでアセンブルされていないwebappを実行する 」を参照してください。

元の問題は Jettyを別のJVMで起動する だったと思います。

43
Matthew Farwell

現在のアプローチは正しいようです-突堤をMavenで実行する場合、突堤はMavenプロセス内のスレッドです。そのため、Mavenのヒープを増やすと、桟橋のヒープが増えます。

MAVEN_OPTSをどのように設定していますか?

私が見つけた1つの例は次のようになります:MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run

ご了承ください MAVEN_OPTSは、ここでは環境変数であり、JVMに渡されません(JVMには何をすべきかわかりません)。

13
danben

コマンドラインを使用してvm引数を指定するには(最初に尋ねたとおり)、次の操作を実行できます。

mvn clean install -DargLine="-Xmx1524m" 
6
Chris Ritchie

<jvmArgs> paramここで言及: Maven jettyプラグイン がうまくいきませんでした。

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 &
3
Binita Bharati

プラグインを使用すると、次のように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>
2
doredson

Linux/Unixの場合

export MAVEN_OPTS="-Xmx256m" && mvn clean install jetty:run

トリックをします

方法:mvn -DMAVEN_OPTS=-Xmx1024m jetty:run

1
Timothy

コマンドラインを使用する方法はありません。ただし、mvn.cmd/mvn.shからmvnhp.cmdおよび行を変更します

%MAVEN_Java_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

%MAVEN_Java_EXE% -Xmx1024m %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
0
Peter Rader

次のような-Xmx引数を渡すために使用できます。

<plugin>
            <groupId>org.Eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version></version>
            <configuration>
                <jvmArgs>-Xmx -Xms -XX:PermSize= -XX:MaxPermSize= -XX:+HeapDumpOnOutOfMemoryError</jvmArgs>
                <scanIntervalSeconds>1</scanIntervalSeconds>
                <stopKey>stop-jetty</stopKey>
                <stopPort>9999</stopPort>
                <systemProperties>
                    <systemProperty>
                        <name>jetty.port</name>
                        <value>9090</value>
                    </systemProperty>
                    <systemProperty>
                        <name>spring.profiles.active</name>
                        <value></value>
                    </systemProperty>
                </systemProperties>

                <webApp>
                    <contextPath>/</contextPath>
                </webApp>
            </configuration>
        </plugin>
0
user2663609