官方资料http://www.moj ohaus.org/exec-maven-plugin /
此插件有两个goal、exec:java和exec:exec。 这两者的区别在于##VM进程的区别exec3360java在同一虚拟机上运行mvn命令和Java程序,即它们位于同一进程中。
exec:exec可以配置单独的虚拟机参数,以便为运行java程序创建新的虚拟机
请注意#configuration参数不同。 两者的配置必须写在根节点下。 不那样做的话就不会被认为。 exec:java配置更简单易用,exec:exec配置更原始。 因此,它更强大。
##exec:java的基本配置
org.codehaus.mojo
exec-maven-plugin
1.5.0
test.child1.Main
${project.basedir}/target/conf,${project.basedir}/./conf
java
在这里指定了main条目和其他classpath。 此处的classpath分隔符使用逗号“,”
##exec:exec的构成
org.codehaus.mojo
exec-maven-plugin
1.5.0
java
-classpath
test.child1.Main
-Dkey=value
电子工程师
从该配置中可以明显看出,java执行命令:根据配置组合如下
Java-class pathc :~. m2~xx1.jar; C:~.m2~xx2.jar; d :projecttargetclasses test.child1. main-dkey=value
然后执行命令
mvn exec : exec-daddresourcestoclasspath=true
addResourcesToClasspath是指将资源文件的目录添加到classpath中。 这是可选的。 如果资源文件已经在classes目录中,即资源文件已经在classpath中,则不需要添加此参数。 但是,如果开发人员在maven-resources-plugin中更改了目标路径,则找不到资源文件目录,依赖于资源文件的程序将无法运行。
# #向##exec:exec添加类路径
在上面的示例中,不能将自定义路径添加到classpath中。 解决方案是手动连接classpath。 为了便于收集所有依赖项库,请使用maven-dependency-plugin插件预先将依赖项库置于特定目录中,例如${project.basedir}/taasedir}
org.codehaus.mojo
exec-maven-plugin
1.5.0
java
-classpath
$ { project.basedir }/target/classes $ { path.separator } $ { project.basedir }/target/lib/* $ { path.separaratr }
test.child1.Main
电子工程师
示例中的${path.seperator}是java系统变量,表示classpath分隔符。 maven pom高级教程- properties、filter和linux上的冒号' : ',windows上的分号';' (使用java -h查看classpath的说明)