3

我有一个多模块 Maven 项目。其中一个模块是一个可重用的部分,它被打包到一个 jar 中,另一个是一个 war web-app,它依赖于第一个模块。当我在第二个模块上使用 jetty:run-exploded 时,打包的 jar 来自本地 maven 存储库,而我希望重建第一个模块并将其打包到生成的战争中。有没有办法强制这种行为而不是默认行为?

4

2 回答 2

1

我认为您可以使用 maven Advanced Reactor Options 来存档它。

http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/

-pl 或 –projects 选项允许您从多模块项目中选择项目列表。如果您正在处理一组特定的项目,并且您不想在开发周期中等待多模块项目的完整构建,则此选项可能很有用。

Maven -amd(also-make-dependents) 也有助于一次构建多模块项目。使用它,您可以构建一个项目以及依赖于该项目的任何项目。

于 2012-06-02T15:14:02.680 回答
1

从阅读有关 Maven 设计的文档和我自己使用 Maven 所知道的一切,这不能在项目自己的目录中完成。

Maven 不会遵循模块路径向上层次结构。使用 -amd (也使依赖项)仅适用于将所有其他多模块 pom 联系在一起的顶级模块。所以你可以做的是:

在 TOP 级目录

mvn -amd -pl jetty_module jetty:run-exploded

于 2012-06-02T17:39:48.250 回答