我有一个多模块maven项目。其中一个模块是一个可重复使用的部件,它被打包成一个罐子,另一个是一个依赖于第一个模块的war web-app。当我在第二个模块上使用jetty:run-explosion时,打包的jar从本地maven存储库获取,而我希望第一个模块被重建并打包到生成的war中。有没有办法强迫这种行为而不是默认行为?
答案 0 :(得分:1)
我认为您可以使用maven Advanced Reactor Options对此进行归档。
http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/
-pl或-projects选项允许您从多模块项目中选择项目列表。如果您正在处理一组特定项目,并且您不想在开发周期中等待完整构建多模块项目,则此选项非常有用。
Maven -amd(也是make-dependents)也有助于构建一次多模块项目。使用它可以构建项目和依赖于该项目的任何项目。
答案 1 :(得分:1)
从我阅读有关Maven设计和使用Maven的文档中我可以看到的一切都无法在项目自己的目录中完成。
Maven不会按照层次结构跟踪模块路径。使用-amd(也是依赖关系)只能在顶层模块中工作,该模块将所有其他多模块pom连接在一起。所以你能做的就是:
在TOP级目录
mvn -amd -pl jetty_module jetty:run-exploded