在一个目标中结合许多Maven目标

到现在为止,我正在使用命令mvn clean compile hibernate3:hbm2java来启动我的程序。 有没有办法将这三个目标合并为一个,例如mvn runmvn myapp:run

另一个与我的其他答案完全不同的解决方案是使用exec-maven-plugin和目标exec:exec

    org.codehaus.mojo exec-maven-plugin 1.2.1  mvn  clean compile hibernate3:hbm2java      

然后你就像这样运行它:

 mvn exec:exec 

通过这种方式,您不会更改任何其他插件,也不会绑定到任何阶段。

根据Hibernate3 Maven插件站点, hbm2java目标默认绑定到generate-sources阶段。

通常,您不必清理项目,而是运行增量构建。

无论如何,如果你在你的pom.xml添加maven-clean-pluginhibernate3-maven-plugin ,你将在一个命令中拥有它。

    maven-clean-plugin 2.5   auto-clean initialize  clean      org.codehaus.mojo hibernate3-maven-plugin 2.2   hbm2java  hbm2java       

如果你想在compile之后运行hibernate3-maven-plugin ,那么只需将目标设置为compile因为它总是在默认阶段之后运行。

因此,只需运行一个命令即可运行所有目标:

 mvn compile 

如果您因任何原因不想清洁,那么只需输入:

 mvn compile -Dclean.skip 

您还可以为Maven构建定义默认目标 。 然后您的命令行调用将如下所示

 mvn 

定义默认目标

将以下行添加到您的pom.xml:

  clean compile hibernate3:hbm2java