我们有一个项目,最近从ant和糟糕的CLI工具切换到了maven,
我们当前的结构是:
- parent
- main-project:
- sub-module-A:
- sub-module-B:
这些项目中的每个项目都在其自己的存储库中,并且它们通过pom文件链接 parent在标签中定义了所有三个项目,而main-project将两个子模块都定义为依赖项。
眼前的问题:
由于main-project是我部署站点的地方(在这种情况下),因此我想确保运行时两个模块的源都更新,这意味着我想在运行{{1}时编译两个子模块(如果需要) }在主项目上。
我尝试使用mvn-exec-plugin来构建两者,但实际上并没有构建任何东西。
有什么解决方法吗?
编辑: :我正在从mvn install
运行mvn appengine:run
,并希望根据需要安装子模块A和B的源代码>
答案 0 :(得分:2)
假设您的main-project
依赖于sub-module-A
和sub-module-B
,并且父级将所有项目都作为模块,即e。
父母
<modules>
<module>main-project</module>
<module>sub-module-A</module>
<module>sub-module-B</module>
<modules>
主项目
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>sub-module-A</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>sub-module-B</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
然后,您可以使用以下方式构建parent
项目
mvn --projects :main-project --also-make install
或对选项使用快捷方式
mvn -pl :main-project -am install
使用这些选项,仅构建main-project
及其所有依赖项(位于parent
的模块中)。