如何控制maven-jetty-plugin的VM参数?

Mic*_*ard 52 java maven-2 jetty maven-jetty-plugin

如何设置Jetty的VM参数从maven-jetty-plugin运行?

例如,我需要通过命令将-Xmx参数传递给Jetty mvn jetty:run.

Mic*_*ard 58

环境变量MAVEN_OPTS就是答案.MAVEN_OPTS的字符串内容传递给JVM(java.exe).

  • Linux:shell类型 export MAVEN_OPTS=....
  • Windows:在shell(cmd.exe)类型中 set MAVEN_OPTS=...

例如:在Windows上将set MAVEN_OPTS="-Xmx1024m"Maven进程的堆大小设置为1024mb.

更新(01.04.2013):直接传递给Jetty.

Matthew Farwell(请给出他的答案),它提供了使用分叉JVM进程来运行Jetty的解决方案,这是Jetty插件的一个新功能.这是一个更好的解决方案,因为前者在与Maven相同的JVM进程内运行(因此共享内存).


Mat*_*ell 43

使用更新版本的maven-jetty-plugin,您可以使用mvn:run-forked.选项jvmArgs将允许您设置-Xmx等.

有关更多信息,请参阅:jetty:run-forked:在单独的jvm中运行未组装的webapp.

我认为最初的问题是在单独的JVM中启动Jetty.


dan*_*ben 13

看起来你当前的方法是正确的 - 当通过maven运行jetty时,jetty是maven进程中的一个线程.因此增加maven的堆将增加jetty的堆.

你是如何设置MAVEN_OPTS的?

我找到的一个例子看起来像这样: MAVEN_OPTS='-Xmx256m -Xms10m' mvn clean jetty:run

请注意,这MAVEN_OPTS是一个环境变量,而不是传递给JVM(谁不知道如何处理它).


Chr*_*hie 7

要通过命令行指定vm参数(如最初要求的那样),您可以执行以下操作:

mvn clean install -DargLine="-Xmx1524m" 
Run Code Online (Sandbox Code Playgroud)