문제

Maven-Jetty-Plugin에서 Jetty Run에 대한 VM 인수를 설정하는 방법은 무엇입니까?

예를 들어 통과해야합니다 -Xmx JETTY에 대한 논쟁 mvn jetty:run 명령.

도움이 되었습니까?

해결책

Enviroment 변수 maven_opts 답입니다. maven_opts의 문자열 내용은 JVM (java.exe)으로 전달됩니다.

  • Linux : 쉘 유형에서 export MAVEN_OPTS=....
  • Windows : 쉘 (cmd.exe) 유형에서 set MAVEN_OPTS=...

예를 들어 : Windows에서 set MAVEN_OPTS="-Xmx1024m" Maven 프로세스의 힙 크기를 1024MB로 설정합니다.

업데이트 (01.04.2013) : 부두에 직접 전달하십시오.

Matthew Farwell (Upvote 그의 대답 그에게 신용을주기 위해)는지게가있는 JVM 프로세스를 사용하여 Jetty를 운영하는 솔루션이 있습니다. Jetty 플러그인의 새로운 기능. 전자가 Maven과 동일한 JVM 프로세스 (따라서 메모리를 공유) 내에서 실행함에 따라 이것은 더 나은 솔루션입니다.

다른 팁

최근 버전의 Maven-Jetty-Plugin을 사용하면 사용할 수 있습니다. mvn:run-forked. JVMARG 옵션을 사용하면 -XMX 등을 설정할 수 있습니다.

자세한 내용은 다음을 참조하십시오. JETTY : RUN-FORKED : 별도의 JVM에서 조립되지 않은 웹 앱 실행.

나는 원래의 문제가 있다고 생각합니다 별도의 JVM에서 부두를 시작합니다.

Maven을 통해 Jetty를 실행할 때 Jetty는 Maven 프로세스 내부의 실입니다. 따라서 Maven의 힙을 늘리면 부두의 힙이 증가 할 것입니다.

maven_opts를 어떻게 설정하고 있습니까?

내가 찾은 한 가지 예는 다음과 같이 보입니다. MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run

주목하십시오 MAVEN_OPTS 여기에서 환경 변수이며 JVM에 전달되지 않았습니다 (누가 무엇을 해야할지 모르는 사람).

명령 줄을 통해 VM 인수를 지정하려면 (원래 요청한대로) 다음을 수행 할 수 있습니다.

mvn clean install -DargLine="-Xmx1524m" 

그만큼 <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 &

Linux/Unix에서

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

트릭을 할 것입니다

플러그인을 사용하면 다음과 같은 JVMARG를 지정할 수 있습니다.

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

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

CommandLine을 사용하는 방법은 없습니다. 그러나 당신은 그것을 복사 할 수 있습니다 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%
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top