Questo è simile ad altre domande (like this), ma voglio essere in grado di farlo con le ultime API. Il plugin maven-dependency: tree verbose è stato deprecato e non fa nulla nell'ultimo (2.5.1) codice, quindi non c'è un buon esempio di come farlo.Come elencare in modo programmatico tutte le dipendenze transitive, comprese quelle sottoposte a override in Maven usando DependencyGraphBuilder?
risposta
Credo Aether
classe di utilità da jcabi-aether può aiutare a ottenere un elenco di tutte le dipendenze di qualsiasi manufatto Maven, per esempio:
File repo = this.session.getLocalRepository().getBasedir();
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
JavaScopes.RUNTIME
);
Se siete al di fuori di Maven plugin:
File repo = new File("/tmp/local-repository");
MavenProject project = new MavenProject();
project.setRemoteProjectRepositories(
Arrays.asList(
new RemoteRepository(
"maven-central",
"default",
"http://repo1.maven.org/maven2/"
)
)
);
Collection<Artifact> deps = new Aether(project, repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
"runtime"
);
l'unica dipendenza che vi serve è:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aether</artifactId>
<version>0.7.5</version>
</dependency>
Okay ... E come funzionerebbe se volessi usarlo su un 'MavenProject.getArtifact'? C'è un modo per farlo? (Ho chiesto questo qui: http://stackoverflow.com/questions/16480314/get-all-the-dependencies-of-a-mavenproject-including-transitive-ones-using-aet). – carlspring
Prova ad usare una classe di utilità ['Classpath'] (http://www.jcabi.com/jcabi-aether/apidocs-0.7.19/com/jcabi/aether/Classpath.html) da [' jcabi-aether' ] (http://www.jcabi.com/jcabi-aether/example-classpath.html) (Ho risposto anche alla tua altra domanda) – yegor256
- 1. Come elencare in modo programmatico tutte le proprietà definite?
- 2. versione Maven dependencyManagement ignorato in dipendenze transitive
- 3. In Maven, come posso escludere tutte le dipendenze transitive da una particolare dipendenza?
- 4. Maven - dipendenze transitive con diverse versioni
- 5. Come scaricare un jar usando Maven in modo programmatico
- 6. Come esportare AAR comprese le sue dipendenze?
- 7. C'è un modo per elencare la versione java di tutte le mie dipendenze Maven?
- 8. WTP - M2E non distribuire le dipendenze transitive
- 9. Gradle, Come disattivare tutte le dipendenze transitorie
- 10. loop su tutte le caselle di testo in un modulo, comprese quelle all'interno di una groupbox
- 11. come escludere le dipendenze transitive della primavera-boot-dipendenze da Maven portata importazione
- 12. Scarica tutte le dipendenze, dipendenze plugin, compilatori, ecc. Con Maven?
- 13. Le dipendenze transitive in conflitto sono un problema serio in Maven?
- 14. Dipendenza Maven 2.1: analizzare. Dipendenze transitive: trovate le dipendenze non dichiarate usate
- 15. dipendenze librerie transitive batik
- 16. Perché devo ri-dichiarare le funzioni sottoposte a override nelle classi derivate in C++?
- 17. IntelliJ 12 - maven multimodule non è in grado di risolvere le dipendenze transitive
- 18. Come ottenere file in una directory, comprese tutte le sottodirectory
- 19. aggiungi dipendenze javascript come le dipendenze java in maven 2?
- 20. Perché una dipendenza con scope "fornita" nasconde le dipendenze transitive in Maven?
- 21. Dipendenze Maven POM nel file ivy.xml
- 22. Come faccio a elencare in modo ricorsivo tutte le directory in una posizione, prima di tutto?
- 23. Come gestire le dipendenze del progetto usando Maven?
- 24. Leggere le mail da Outlook in modo programmatico usando C#
- 25. Un AAR può includere dipendenze transitive?
- 26. Come faccio a elencare in modo programmatico tutti i progetti in una soluzione?
- 27. Elenca tutte le variabili globali in Node.js
- 28. Chiude tutte le figure in MATLAB, eccetto quelle specifiche.
- 29. Come includere le dipendenze Maven in un file jar?
- 30. Escluso le dipendenze Maven
Attualmente il nuovo Aet lei che è usata in questo non fornisce tali informazioni. Solo le versioni precedenti del plugin maven-dependency forniscono tali informazioni (http://maven.40175.n5.nabble.com/maven-dependency-plugin-Questions-td5729997.html). – khmarbaise
Immagino che significhi la risposta breve è che al momento non è possibile. Almeno fino a quando Hervé potrebbe essere una soluzione nel nucleo di Maven. – Ben