4

我在文件系统的相邻目录中有两个项目,如下所示:

  • project_a (-SNAPSHOT)
  • project_b(-SNAPSHOT,取决于 project_a)

我想构建 project_b 并让 Maven 发现 project_a 存在于文件系统上,从而构建它,而不是在本地 repo 中查找它的工件。

我可以在聚合器中构建这些并使用反应器来选择 project_b ie

mvn --projects project_b [goal]

然而,这是有问题的,因为

  • 这个两个项目的例子是我真实构建的简化,它由几十个项目组成,我不想维护一个列出所有项目的聚合器项目。
  • 我只想递归构建 -SNAPSHOT 依赖项

有没有一种巧妙的方法可以让 Maven 执行递归构建,在文件系统上查找 -SNAPSHOT 依赖项目并构建它们?

4

2 回答 2

2

不久前我需要这个,并在 nodejs 中制作了一个简单的递归包装器 cli。https://github.com/kenglxn/mvnr/blob/master/README.md

从 npm 安装

sudo npm install -g mvnr

然后只需将任何 maven 命令传递给 mvnr,它就会在 cwd 下的所有 mvn 项目上运行该命令。

于 2015-04-26T09:09:36.310 回答
1

您可以使用Maven Reactor 插件,例如尝试mvn reactor:make -Dmake.folders=foo,bar

于 2012-04-05T14:19:28.413 回答