到现在为止,我正在使用命令mvn clean compile hibernate3:hbm2java
来启动我的程序。有什么方法可以将这三个目标合并为一个目标,例如mvn run
或mvn myapp:run
?在单个目标中合并许多Maven目标
13
A
回答
16
另一种解决方案是不同完全从我的其他答案将是使用exec-maven-plugin
目标exec:exec
。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>clean</argument>
<argument>compile</argument>
<argument>hibernate3:hbm2java</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
然后你只要运行它是这样的:
mvn exec:exec
通过做这种方式,你不改变任何其他插件,它是没有绑定到任何阶段无论是。
5
根据Hibernate3 Maven Plugin网站,hbm2java
目标默认绑定到generate-sources
阶段。
通常,您不必清理项目,就可以运行增量构建。
无论如何,如果您在pom.xml
中添加了maven-clean-plugin
和hibernate3-maven-plugin
,您将可以在一个命令中使用它。
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>hbm2java</id>
<goals>
<goal>hbm2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果你想hibernate3-maven-plugin
到compile
后运行,那么就在目标设定为compile
因为它会默认后阶段始终运行。
所以要运行一个命令所有的目标只是运行:
mvn compile
如果你因任何原因不希望清理,然后只需键入:
mvn compile -Dclean.skip
+0
如果你不希望它总是运行'hbm2java',那么将其放置在[profile](http://www.sonatype.com/books/mvnref- book/reference/profiles-sect-what.html),即'mvn compile -Phbm' – noahlz
相关问题
- 1. 在Eclipse中将多个maven项目合并为单个项目
- 2. Maven的目标,在多模块项目
- 3. 如何在日蚀中运行许多Maven目标
- 4. 合并目标C
- 5. 合并两个Maven项目?
- 6. 多个卷到单个目标目录?
- 7. 蚂蚁到Maven - 多个构建目标
- 8. GNU make有许多目标目录
- 9. 多个目标
- 10. 从另一个目标中调用maven目标
- 11. 如何在多模块项目中(配置文件)maven目标
- 12. 目标多个目录
- 13. Maven的发布目标结合
- 14. Maven与目标聚合聚甲醛?
- 15. 排除在Maven目标
- 16. Sql合并锁定整个目标表
- 17. 指向Maven目标目录中的WebLogic
- 18. 在多个生命周期中运行maven目标
- 19. Maven下载pom并执行目标
- 20. 如何在maven中启动单个目标/执行
- 21. xcode多个目标
- 22. XCODE:多个目标
- 23. '当目标不是目录'时,将单个文件复制到多个目标
- 24. jquery.show()在多个目标上
- 25. ADDITIONAL_MAKE_CLEAN_FILES在多个目标
- 26. Scons:将多个目标合并为一个
- 27. 单个-swift.h由多个目标共享
- 28. 合并两个音频文件合并为一个目标C
- 29. Vapor Xcode项目中的多个目标
- 30. XHTML:<a>标记到多个目标帧中的多个目标?
我希望拥有相同的内容,而且我真的真的想要放回一个makefile文件。但我认为......应该有一个maven解决方案..所以你说的确是它不在那里?作为,执行,如果我从名称得到它的权利,并有将“执行”的事实!..所以不是很容易管理步骤,依赖和返回代码..是否真的如此的maven?我不能连锁目标?我的意思是有点控制? –
mariotti
刚刚搜索一遍,发现这个2005年的文档:http://docs.codehaus.org/display/MAVEN/Multiple+Goal+Declaration – mariotti
正是我寻找的解决方案! 注意:版本1.5.0在Windows上是有问题的。请参阅 - https://github.com/mojohaus/exec-maven-plugin/issues/42因此,如果您想在此使用,请避免这种情况。当它们释放一个版本时,使用以前的版本1.4.0或更新版本> 1.5.0 – codewing