在Maven中,我如何递归地构建文件系统中但在反应堆外部的-SNAPSHOT依赖项?

时间:2012-04-05 13:54:29

标签: maven maven-2 maven-3

我在文件系统的相邻目录中有以下两个项目:

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

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

我可以在聚合器中构建这些并使用reactor选择project_b即

mvn --projects project_b [goal]

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

  • 这个两个项目的例子是我的真实构建的简化,它包含许多项目,我不想维护列出所有项目的聚合器项目。
  • 我只想递归地构建-SNAPSHOT依赖项

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

2 个答案:

答案 0 :(得分:1)

你可以玩Maven Reactor plugin,例如试试mvn reactor:make -Dmake.folders=foo,bar

答案 1 :(得分:1)

我需要这一段时间,并在nodejs中创建一个简单的递归包装器cli。 https://github.com/kenglxn/mvnr/blob/master/README.md

使用

从npm安装
sudo npm install -g mvnr

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