如何使用 xargs 将 find 命令的结果传递给 mvn 命令?
How to pass a result of find command to the mvn command using xargs?
注意:我不想使用find ... exec ...
因为这样maven错误会被忽略。
我正在尝试在给定文件夹中找到所有 pom.xml
并对它们执行 mvn
。但是我在将 find
结果正确传递给 xargs
函数时遇到了问题。这个:
find ./maven_projects -name 'pom.xml' -print0 | xargs -0 mvn clean package -f
不工作。我在 Maven 中收到这种错误:
[ERROR] Unknown lifecycle phase "./maven_projects/project1/pom.xml"
我已经找到解决方法了。诀窍是将文件名包装到参数中并将其传递为:
find ./maven_projects -name 'pom.xml' -print0 | xargs -0 -L 1 sh -c 'mvn -f "[=10=]" clean package'
注意:我不想使用find ... exec ...
因为这样maven错误会被忽略。
我正在尝试在给定文件夹中找到所有 pom.xml
并对它们执行 mvn
。但是我在将 find
结果正确传递给 xargs
函数时遇到了问题。这个:
find ./maven_projects -name 'pom.xml' -print0 | xargs -0 mvn clean package -f
不工作。我在 Maven 中收到这种错误:
[ERROR] Unknown lifecycle phase "./maven_projects/project1/pom.xml"
我已经找到解决方法了。诀窍是将文件名包装到参数中并将其传递为:
find ./maven_projects -name 'pom.xml' -print0 | xargs -0 -L 1 sh -c 'mvn -f "[=10=]" clean package'