¿Cómo controlar los argumentos de VM para maven-jetty-plugin?

¿Cómo establecer argumentos VM para Jetty ejecutados desde maven-jetty-plugin?

Por ejemplo, necesito pasar argumentos de -Xmx a Jetty ejecutados por el mvn jetty:run .

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

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

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

    Actualización (01.04.2013): pásalo directamente a Jetty.

    Matthew Farwell (por favor, recomendó su respuesta para darle crédito) viene con la solución de usar un proceso JVM bifurcado para ejecutar Jetty, que es una nueva característica del plugin Jetty . Esta es una solución mejor ya que la primera se ejecuta dentro del mismo proceso de JVM que Maven (por lo tanto, comparte memoria).

    Con las versiones más recientes de maven-jetty-plugin, puede usar mvn:run-forked . La opción jvmArgs te permitirá configurar -Xmx, etc.

    Para obtener más información, consulte: jetty: run-bifurcado: ejecutar una aplicación web no ensamblada en un archivo jvm independiente .

    Creo que el problema original era Starting Jetty en JVM por separado .

    Parece que tu enfoque actual es el correcto: cuando ejecutas embarcadero a través de maven, el malecón es un hilo dentro del proceso de maven. Así que boost el montón de maven boostá el montón de embarcadero.

    ¿Cómo estás configurando MAVEN_OPTS?

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

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

    Para especificar argumentos vm a través de la línea de comando (como se solicitó originalmente), puede hacer lo siguiente:

     mvn clean install -DargLine="-Xmx1524m" 

    El mencionado aquí: el plugin Maven no funcionó para mí.

    Versión de Maven: Apache Maven 3.0.3

    Versión del complemento Jetty Maven: jetty-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 complemento le permite especificar jvmArgs como este:

      org.mortbay.jetty jetty-maven-plugin  -Xmx1024 10   8080 60000    jetty-env.xml     test  run-exploded     

    ¿Qué tal: mvn -DMAVEN_OPTS=-Xmx1024m jetty:run

    puede usar para pasar el argumento -Xmx como;

      org.eclipse.jetty jetty-maven-plugin   -Xmx -Xms -XX:PermSize= -XX:MaxPermSize= -XX:+HeapDumpOnOutOfMemoryError 1 stop-jetty 9999   jetty.port 9090   spring.profiles.active     /    

    No hay forma de usar la línea de comando. Pero 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%