0

我有以下 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

尽管这很有效,但我不确定这是否是首选方式。在第一步中,我正在安装所有项目,但实际上,只有 jar 项目a并且b应该安装。无需安装cd项目。

c尽管安装and并没有什么坏处d,但是否有更好的使用 Maven 来避免这种情况?我总是可以手动安装aand b,但这当然会影响模块的好处(自动检测依赖顺序,仅举一个好处)。

4

1 回答 1

1

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

于 2015-10-18T10:13:35.183 回答