maven - 关于使用多模块 (jar, war, ...) 项目的建议

maven - advice on usage of multi-modules (jar, war, ...) project

我有以下 Maven 组织:

- ./pom.xml (top-level project, which defines the 4 modules below)
   - ./a/pom.xml (jar)
   - ./b/pom.xml (jar)
   - ./c/pom.xml (war)
   - ./d/pom.xml (war)

到目前为止,我一直在使用 Maven 如下(全部在根目录中执行):

1. mvn clean compile install
2. mvn tomcat7:redeploy -pl c
3. mvn tomcat7:redeploy -pl d

虽然这很有效,但我不确定这是否是首选方式。在第一步中,我正在安装 all 项目,但实际上应该只安装 ab jar 项目。无需安装 cd 项目。

虽然安装 cd 没有什么坏处,但是有没有更好的 Maven 用法来避免这种情况?我总是可以手动安装 ab,但这当然会损害模块的好处(自动检测依赖顺序,仅举一个好处)。

compileinstall 都是默认生命周期的一部分,因此无需调用 compile。而且你不需要 install 文件,以防依赖项是反应堆的一部分(即所有正在构建的 Maven 项目)。相反 package 就足够了,尽管我更喜欢 verify 以防有集成测试。 您也可以这样做:mvn verify tomcat7:redeploy -pl c -am,其中 -am 触发构建 c.

所需的多模块项目的项目