我尝试过以下方法,但没有任何效果...... 我正试图从服务器远程访问jmx。
<jvmArgs>
<jvmArg>-Dcom.sun.management.jmxremote.port=9999</jvmArg>
<jvmArg>-Dcom.sun.management.jmxremote.authenticate=false</jvmArg>
<jvmArg>-Dcom.sun.management.jmxremote.ssl=false</jvmArg>
</jvmArgs>
<!-- <systemPropertyVariables>
<com.sun.management.jmxremote.port>9999</com.sun.management.jmxremote.port>
<com.sun.management.jmxremote.authenticate>false</com.sun.management.jmxremote.a uthenticate>
<com.sun.management.jmxremote.ssl>false</com.sun.management.jmxremote.ssl>
</systemPropertyVariables> -->
<!-- <jvmArguments>
<jvmArgument>- Dcom.sun.management.jmxremote.port=9999</jvmArgument>
<jvmArgument>- Dcom.sun.management.jmxremote.authenticate=false</jvmArgument>
<jvmArgument>- Dcom.sun.management.jmxremote.ssl=false</jvmArgument>
</jvmArguments> -->
我也试过
<options>
<option>-Dcom.sun.management.jmxremote.port=9999</option>
<option>-Dcom.sun.management.jmxremote.authenticate=false</option>
<option>-Dcom.sun.management.jmxremote.ssl=false</option>
</options>
答案 0 :(得分:13)
您可以在不同的点和级别(全局或通过插件配置)为Maven设置Java选项:
插件配置:仅适用于编译
使用Maven Compiler Plugin配置编译应用程序代码和测试代码,您可以通过compileArgs配置条目设置所需的Xmx,Xms,Xss选项,可用于compile和testCompile目标。有一个官方示例here和其他SO答案,如this one。
一个例子也如下所示。
插件配置:仅供测试执行
使用Maven Surefire Plugin配置进行测试执行,您可以通过test目标的argLine配置条目设置要在运行时使用的所需Java选项。有一个官方的例子here。
以下是第三点的示例。
插件配置:通过属性(和配置文件)
您可以将上面的两个选项(在常见Java选项的情况下)合并为属性值,以传递给compileArgs
和argLine
配置条目,或者每个配置具有不同的属性(根据您的需要)。 / p>
<property>
<jvm.options>-Xmx256M</jvm.options>
</property>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<compilerArgs>
<arg>${jvm.options}</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<argLine>${jvm.options}</argLine>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
使用属性还有两个额外的优势(在集中化之上):您可以使用配置文件根据不同的所需行为(以及此SO answer中的示例)对其进行个性化设置,您可以通过命令覆盖它们也行,如:
mvn clean install -Djvm.options=-Xmx512