场景:
我有一个主级项目A和A,两个子项目B和C由不同的开发人员工作,但他们同意通过通用接口的抽象.
B取决于C(依赖性).在B的pom我添加了
<dependency> .. details of project C..</dependency> .
Run Code Online (Sandbox Code Playgroud)
这样做,maven插入依赖项很好,除了不重新编译项目C.
我希望项目C在每次编译时自动重新编译.
小智 19
如果你想构建B并自动构建它的依赖项,你可以使用maven reactor的高级选项,如--also-make-dependents.
mvn clean install –-projects B –-also-make
Run Code Online (Sandbox Code Playgroud)
或者简短
mvn clean install -pl B -am
Run Code Online (Sandbox Code Playgroud)
这将编译B所依赖的A的所有子模块.关于maven reactor的高级选项,sonatype博客上有一篇有用的文章. http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/
将项目B和C列为项目Pom中的模块A.现在,当您构建项目A时,它应该以正确的顺序自动构建项目B和C.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>multi</groupId>
<artifactId>A</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<modules>
<module>B</module>
<module>C</module>
</modules>
</project>
Run Code Online (Sandbox Code Playgroud)
见这一个多模块Maven项目的例子.
| 归档时间: |
|
| 查看次数: |
26314 次 |
| 最近记录: |