来自文档 https://www.mojohaus.org/exec-maven-plugin/:
-
exec:exec
在单独的进程中执行程序和Java程序。
-
exec:java
在同一虚拟机中执行 Java 程序。
我想 fork 一个 java 程序。我已经让它工作了exec:java
但这不会分叉。因此,显而易见的举措是将目标更改为exec
。问题是,语法为exec
与语法有很大不同java
。它没有像这样的标签includeProjectDependencies
, includePluginDependencies
等等。是否有一个我可以使用的插件,它类似于#1,因为它分叉,但具有像#2 那样方便的语法? IMO,#2 应该有一个<fork>true</fork>
配置。
还可以使用以下命令从 Maven 生成 Java 进程maven-antrun-插件 http://maven.apache.org/plugins/maven-antrun-plugin/。这个插件导出几个类路径 http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html涵盖编译/运行时/测试范围以及插件依赖项。
因此,使用编译和插件依赖项在单独的进程中执行类将如下所示:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<java classname="com.example.MainClass" fork="true">
<classpath>
<path refid="maven.compile.classpath"/>
<path refid="maven.plugin.classpath"/>
</classpath>
</java>
</target>
</configuration>
</plugin>
这是用执行的mvn antrun:run
代替exec:exec
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)