如何使用xargs将查找结果传递给mvn命令?

时间:2017-11-03 08:51:02

标签: bash maven xargs

注意:我不想使用find ... exec ...,因为这样会忽略maven错误。

我正在尝试查找给定文件夹中的所有pom.xml并对其执行mvn。但是我在将find结果正确传递给xargs函数时遇到了问题。这样:

find ./maven_projects -name 'pom.xml' -print0 | xargs -0 mvn clean package -f

无效。我在maven中收到了这种错误:

  

[错误]未知生命周期阶段" ./ maven_projects / project1 / pom.xml"

1 个答案:

答案 0 :(得分:1)

我找到了解决方法。诀窍是将filename包装到参数中并将其传递给:

find ./maven_projects -name 'pom.xml' -print0 | xargs -0 -L 1 sh -c 'mvn -f "$0" clean package'