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 项目,但实际上应该只安装 a
和 b
jar 项目。无需安装 c
和 d
项目。
虽然安装 c
和 d
没有什么坏处,但是有没有更好的 Maven 用法来避免这种情况?我总是可以手动安装 a
和 b
,但这当然会损害模块的好处(自动检测依赖顺序,仅举一个好处)。
compile
和 install
都是默认生命周期的一部分,因此无需调用 compile
。而且你不需要 install
文件,以防依赖项是反应堆的一部分(即所有正在构建的 Maven 项目)。相反 package
就足够了,尽管我更喜欢 verify
以防有集成测试。
您也可以这样做:mvn verify tomcat7:redeploy -pl c -am
,其中 -am
触发构建 c.
所需的多模块项目的项目
我有以下 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 项目,但实际上应该只安装 a
和 b
jar 项目。无需安装 c
和 d
项目。
虽然安装 c
和 d
没有什么坏处,但是有没有更好的 Maven 用法来避免这种情况?我总是可以手动安装 a
和 b
,但这当然会损害模块的好处(自动检测依赖顺序,仅举一个好处)。
compile
和 install
都是默认生命周期的一部分,因此无需调用 compile
。而且你不需要 install
文件,以防依赖项是反应堆的一部分(即所有正在构建的 Maven 项目)。相反 package
就足够了,尽管我更喜欢 verify
以防有集成测试。
您也可以这样做:mvn verify tomcat7:redeploy -pl c -am
,其中 -am
触发构建 c.