Wie lade ich ein Glas mit maven programmgesteuert herunter?

Ich schreibe eine Anwendung, bei der ich ein Glas herunterladen muss, für das die Version mavens groupid / artifactid / angegeben ist.

Ich beginne derzeit mit

public Model pomToModel(String pomUrl) throws Exception {
URL url = new URL(pomUrl);
    InputStream stream = url.openStream();
    try {
        Model model = new MavenXpp3Reader().read(stream);
        return model;
    } finally {
        stream.close();
    }
}

Angesichts der URL des POM habe ich jetzt das maven Model-Objekt, das es darstellt. Das scheint gut zu funktionieren.

Was ich gerne wissen würde, sind zwei Dinge:

Suchen Sie die URL des Jar-Artefakts, das das Modell im Maven-Repository darstellt, das das Maven-Plugin verwenden würdeSuchen Sie bei gegebenem Modell die Datei, die die JAR-Datei darstellt, im lokalen Repository

Ich habe bereits Lösungen mit schlechter Qualität: Ich gehe zu mvnrepository.com und codiere die URL manuell. Als Präfix für die Datei verwende ich ~ / .m2 / repository. Ich kann diese Lösung natürlich verbessern, aber am Ende werde ich den Code, der gut getestet und in der Maven-Codebasis verwendet wird, schlecht duplizieren.

Ich würde wirklich gerne wissen, wie man das mit den Maven-Klassen macht.

Ich habe ein bisschen google gesucht, aber das amüsante an der Suche nach Maven und Jars (sogar bei Stackoverflow) ist, dass ich viele Lösungen finde, wie man Maven benutzt, anstatt wie man mit den Maven-Klassen codiert.

Danke für die Hilfe

Antworten auf die Frage(2)

Ihre Antwort auf die Frage