Erhalten Sie saubere, maschinenfreundliche Maven-Zeilen / xml / json-Ausgaben, die von Skripten in STDOUT analysiert werden können?

Führen Sie diesen Befehl beispielsweise für ein Maven-Projekt aus:

mvn dependency:list

Was ich von Maven brauche, istnu diese zwei Zeilen (aus der Ausgabe unten ausgeschnitten):

com.example.code_samples.maven_dependencies:direct_library:jar:0.0.1-SNAPSHOT:compile
com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile

Ist da ein Weg (CLI--option) um nur diese angeforderten Informationen in klaren Linien zu sehen, xml, json, ...?

Instead sieht die Ausgabe eher wie ein unstrukturiertes Protokoll aus. Es hat kein bekanntes Format und mischt alle Arten von Informationen in STDOUT zusammen.

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] direct_library
[INFO] dependent_binary
[INFO] indirect_library
[INFO] maven_dependencies
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building direct_library 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/indirect_library/0.0.1-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/indirect_library/0.0.1-SNAPSHOT/maven-metadata.xml (2 KB at 16.1
 KB/sec)
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ direct_library ---
[INFO] 
[INFO] The following files have been resolved:
[INFO]    junit:junit:jar:4.4:test
[INFO]    com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile
[INFO] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building dependent_binary 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/direct_library/0.0.1-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/direct_library/0.0.1-SNAPSHOT/maven-metadata.xml (2 KB at 86.2 K
B/sec)
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ dependent_binary ---
[INFO] 
[INFO] The following files have been resolved:
[INFO]    com.example.code_samples.maven_dependencies:direct_library:jar:0.0.1-SNAPSHOT:compile
[INFO]    com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile
[INFO] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building indirect_library 3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ indirect_library ---
[INFO] 
[INFO] The following files have been resolved:
[INFO]    none
[INFO] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building maven_dependencies 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ maven_dependencies ---
[INFO] 
[INFO] The following files have been resolved:
[INFO]    none
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] direct_library ..................................... SUCCESS [  0.813 s]
[INFO] dependent_binary ................................... SUCCESS [  0.026 s]
[INFO] indirect_library ................................... SUCCESS [  0.013 s]
[INFO] maven_dependencies ................................. SUCCESS [  0.002 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.065 s
[INFO] Finished at: 2015-03-24T12:10:01+08:00
[INFO] Final Memory: 18M/607M
[INFO] ------------------------------------------------------------------------

AKTUALISIERE

Alternativ würde ich die Lösung akzeptieren, Maven API zu verwenden, um Laufzeitdaten wie @ zu erhalteCollection<String> (anstelle der obigen Textausgabe, die nicht zuverlässig analysiert werden kann).

Ich habe einen Blick aufMaven Invoker API, aber ich habe keine Hoffnung - meine Tests haben gezeigt, dass es nur eine Möglichkeit ist, Maven aus dem Code aufzurufen. Und diese APIs geben keine Laufzeitdaten zurück (nur Fehlercode mit allen nützlichen Informationen, die erneut in Protokollen gedruckt werden).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage