2017-11-03 9 views
0

Hinweis: Ich möchte nicht find ... exec ... verwenden, weil auf diese Weise Maven Fehler ignoriert werden.Wie finde ich das Ergebnis mit xargs zum Befehl mvn?

Ich versuche, alle pom.xml im angegebenen Ordner zu finden und mvn auf ihnen auszuführen. Aber ich habe ein Problem mit der richtigen Weitergabe find Ergebnisse an die xargs Funktion. Dies:

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

funktioniert nicht. Ich erhalte Art dieses Fehlers in Maven:

[ERROR] Unknown Phase des Lebenszyklus "./maven_projects/project1/pom.xml"

Antwort

1

Ich habe herausgefunden, wie es zu lösen. Der Trick besteht darin, den Dateinamen in ein Argument zu schreiben und ihn so zu übergeben:

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