Pergunta

Como definir argumentos VM para Jetty prazo do Maven-cais-plugin?

Por exemplo, eu preciso passar argumentos -Xmx para Jetty corrida pelo comando mvn jetty:run.

Foi útil?

Solução

Os MAVEN_OPTS variáveis ??ambiente é a resposta. O conteúdo série de MAVEN_OPTS é passado para JVM (java.exe).

  • Linux: no tipo concha export MAVEN_OPTS=....
  • Windows: com casca (cmd.exe) Tipo set MAVEN_OPTS=...

Por exemplo:. No Windows set MAVEN_OPTS="-Xmx1024m" define o tamanho da pilha do processo Maven para 1024mb

Atualizar (2013/01/04):. Passe-lo diretamente para Jetty

Matthew Farwell (por favor upvote sua resposta a dar-lhe crédito) vem com a solução de utilizar um processo JVM bifurcada para executar Jetty que é um novo recurso do Jetty plug-in . Esta é uma solução melhor como os antigos executado dentro mesmo processo JVM como Maven (assim ações de memória).

Outras dicas

Com as versões mais recentes do-cais-plugin Maven, você pode usar mvn:run-forked. Os jvmArgs opção permite que você defina -Xmx etc.

Para obter mais informações, consulte: cais: run-bifurcada: executando um webapp desmontado em uma JVM separado.

Eu acho que o problema original era Começando Jetty na JVM separado.

Parece que sua estratégia atual está correta - ao executar cais através maven, pontão é um segmento dentro do processo maven. Assim pilha crescente de maven irá aumentar a pilha do cais.

Como você está definindo MAVEN_OPTS?

Um exemplo achei parecido com este: MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run

Note que MAVEN_OPTS é uma variável de ambiente aqui, e não passou para a JVM (que não saberia o que fazer com ele).

Para especificar argumentos vm via linha de comando (como originalmente solicitado), você pode fazer o seguinte:

mvn clean install -DargLine="-Xmx1524m" 

O param <jvmArgs> mencionados aqui: Maven cais plug-in não funcionou para mim.

versão Maven: Apache Maven 3.0.3

Jetty Maven versão plugin: molhe-maven-plugin: 8.1.10.v20130312

Isso funcionou:

MAVEN_OPTS='-Xmx4096m -Xms4096m'
export MAVEN_OPTS
mvn jetty:run &

No Linux / Unix

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

irá fazer o truque

O plug-in permite que você especifique jvmArgs como este:

<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>

você pode usar para passar argumentos -Xmx como;

<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>

Não há nenhuma maneira usando a linha de comando. Mas você poderia copiar o mvn.cmd / mvn.sh para mvnhp.cmd e altere a linha

%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%

Para

%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%
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top