我有以下源布局:
.
├── pom.xml
├── modules (has pom)
│ ├── module1 (has pom)
│ └── module2 (has pom)
│ └── moduleN (has pom)
└── webapp1 (has pom)
└── webapp2 (has pom)
webapp1和webapp2取决于所有模块(模块是DAO,服务等)。
目前,我从根构建了所有内容,mvn package
给了我两个WAR文件。
如何仅构建webapp1或webapp2?
如果我cd
进入webapp1并运行mvn package
,它表示无法下载moduleX.jar(这是一个干净的存储库)。当然,Maven应该能够推断出那些模块首先需要构建为依赖项吗?
答案 0 :(得分:1)
如何仅构建webapp1或webapp2?
使用"advanced reactor options"。从根本开始:
mvn install -pl webapp1 -am
这告诉maven安装webapp1
以及webapp1
所依赖的项目(按照正确的顺序)。
帮助(mvn -h
)记录这些命令:
-pl, --projects Build specified reactor projects instead of all projects -am, --also-make If project list is specified, also build projects required by the list
请注意,您需要调用我错了,调用{{ 1}}工作(我不知道如何/为什么,但确实如此)。install
,依赖项始终通过本地存储库解析(因此您需要install
它们。)