Jak programowo pobrać słoik za pomocą Maven
Piszę aplikację, która wymaga ode mnie pobrania pliku jar zawierającego grupę mavens / artifactid / version.
Obecnie zaczynam od
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();
}
}
Biorąc pod uwagę adres URL POM, mam teraz reprezentować obiekt modelu maven. To wydaje się działać dobrze.
Chciałbym wiedzieć dwie rzeczy:
znajdź adres URL artefaktu słoika, który model reprezentuje w repozytorium maven, z którego korzysta wtyczka mavenbiorąc pod uwagę model, znajdź plik reprezentujący słoik w lokalnym repozytoriumMam już słabej jakości rozwiązania: idę do mvnrepository.com ręcznie kodując adres URL i używam ~ / .m2 / repository jako prefiksu pliku. Mogę oczywiście poprawić to rozwiązanie, ale skończy się to niedostatecznym duplikowaniem kodu, który jest dobrze przetestowany i dobrze wykorzystany w bazie kodu Maven.
Naprawdę chciałbym wiedzieć, jak to zrobić, używając klas Maven.
Zrobiłem sporo wyszukiwania w Google, ale zabawną rzeczą w wyszukiwaniu czegokolwiek o maven i słoikach (nawet na stackoverflow) jest to, że znajduję wiele rozwiązań dotyczących używania maven, a nie jak kodować za pomocą klas maven.
Dzięki za pomoc