1

我有以下源布局:

.
├── 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 应该能够推断出这些模块需要首先构建为依赖项?

4

1 回答 1

1

如何仅构建 webapp1 或 webapp2?

使用“高级反应器选项”。从根:

mvn install -pl webapp1 -am

这告诉 maven 安装webapp1webapp1依赖的项目(以正确的顺序)。

帮助 ( mvn -h) 记录这些命令,如下所示:

-pl,--项目
        构建指定的反应堆项目而不是所有项目
-am, --also-make
        如果指定了项目列表,则还构建列表所需的项目

请注意,您需要调用install,依赖项始终通过本地存储库解决(因此您需要install它们)。我错了,打电话package确实有效(我不知道如何/为什么,但确实如此)。

于 2010-10-18T13:07:24.597 回答