Pregunta

Cómo definir los argumentos de VM para ejecutar embarcadero del experto-embarcadero-plugin?

Por ejemplo, necesito pasar argumentos a -Xmx embarcadero dirigidos por el comando mvn jetty:run.

¿Fue útil?

Solución

Los MAVEN_OPTS variable de entorno es la respuesta. El contenido de la cadena de MAVEN_OPTS se pasa a JVM (java.exe).

  • Linux: en el tipo shell export MAVEN_OPTS=....
  • Windows: en shell (cmd.exe) tipo set MAVEN_OPTS=...

Por ejemplo:. En Windows set MAVEN_OPTS="-Xmx1024m" establece el tamaño del montón del proceso de Maven a 1024mb

Actualizar (04/01/2013):. Pase directamente al embarcadero

Mateo Farwell (por favor Upvote su respuesta que darle crédito) viene con la solución de utilizar un proceso de JVM en forma de horquilla para funcionar embarcadero el cual es una nueva característica de la embarcadero plugin. Esta es una mejor solución ya que el primero se ejecuta dentro de un mismo proceso JVM como Maven (por lo tanto las acciones de memoria).

Otros consejos

Con las versiones más recientes del experto-embarcadero-plugin, puede utilizar mvn:run-forked. Los jvmArgs opción le permitirá configurar -Xmx etc.

Para obtener más información, consulte: amarre: gestión de horquilla: Ejecución de una aplicación web sin montar en una JVM separado.

Creo que el tema original fue A partir del embarcadero en la JVM por separado .

Parece que el enfoque actual es correcta - cuando se ejecuta a través embarcadero experto, amarre es un hilo dentro del proceso de experto. Así montón de aumentar experto aumentará el montón del embarcadero.

¿Cómo se configura MAVEN_OPTS?

Un ejemplo que encontré es así: MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run

Tenga en cuenta que MAVEN_OPTS es una variable de entorno aquí, y no pasó a la JVM (que no sabría qué hacer con él).

Para especificar argumentos de VM a través de la línea de comandos (como publicada originalmente) se puede hacer lo siguiente:

mvn clean install -DargLine="-Xmx1524m" 

El parámetro <jvmArgs> menciona aquí: Maven embarcadero plug-in no funcionó para mí.

versión Maven: Apache Maven 3.0.3

embarcadero Maven versión plugin: embarcadero-maven-plugin: 8.1.10.v20130312

Esto funcionó:

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

En Linux / Unix

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

hará el truco

El plug-in le permite especificar jvmArgs como esta:

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

se puede utilizar para pasar argumento -Xmx similares;

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

No hay manera de utilizar la línea de comandos. Pero se podría copiar el mvn.cmd / mvn.sh a mvnhp.cmd y cambiar la línea

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

a

%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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top