Tat*_*dik 6 jvm-arguments maven-plugin maven-3 maven exec-maven-plugin
我正在使用 exec-maven-plugin 来运行 java 应用程序。我需要传递 JVM 参数和程序参数。我正在像这样设置 JVM 参数:
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>MyId</id>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>MyClass</mainClass>
<arguments>
<argument>-XX:+UseG1GC</argument>
<argument>-Xms2G</argument>
<argument>-Xmx2G</argument>
</arguments>
</configuration>
</execution>
Run Code Online (Sandbox Code Playgroud)
...
并运行程序:
mvn exec:java@MyId -Dexec.args="my params"
Run Code Online (Sandbox Code Playgroud)
但是看起来 pom.xml 中设置的参数没有被 -Dexec.args 使用和覆盖,并且 section 仅用作程序参数。
试图添加到参数中(如本文所示),但遇到了
Unable to parse configuration of mojo org.codehaus.mojo:exec-maven-plugin:1.6.0:java for parameter arguments: Cannot store value into array:
ArrayStoreException -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
在 jboss.org 上发现了类似的未解决问题。
有什么建议?
在插件页面的最后找到了我的问题的答案。
此目标可帮助您在与 Maven 相同的 VM 中运行 Java 程序。
我们的目标是竭尽全力尝试模仿虚拟机的工作方式,但也存在一些细微的差别。今天,所有差异都来自于目标处理线程管理的方式。
注意:java 目标不会生成新进程。您想要传递给执行类的任何特定于 VM 的选项都必须使用 MAVEN_OPTS 环境变量传递给 Maven VM。
这对我不起作用,所以切换到 mvn exec:exec 模式。适用于 JVM 参数。
在这里找到了一个解决方案:Using Maven 'exec:exec' with Arguments
| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |