我在寫一個應用程序,需要我下載給予mavens groupid/artifactid/version的jar。如何通過編程方式使用maven下載jar
我現在開始
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();
}
}
所以給出的POM的URL,我現在代表它maven的模型對象。這似乎運作良好。
我會想做什麼知道的是兩兩件事:
- 找到JAR神器,該模型代表了Maven倉庫的Maven插件將使用
- 給出了該模型的網址,找到代表本地存儲庫中jar的文件
我已經有質量差的解決方案:我去mvnrepository.com手工編碼url,並且使用〜/ .m2/repository作爲文件的前綴。我顯然可以改進這個解決方案,但是我最終會糟糕地複製那些經過很好測試並且在Maven代碼庫中很好使用的代碼。
我真的想知道如何使用maven類來做到這一點。
我已經做了一些公平的谷歌搜索,但尋找有關maven和jar(甚至在stackoverflow)上的任何有趣的事情是,我發現很多有關如何使用maven的解決方案,而不是如何使用代碼Maven類。
感謝您的幫助
Maven同時下載所有罐子的Nexus倉庫管理器在他的pom.xml中指定的文件。 –
也可以看看[jcabi-aether](http://www.jcabi.com/jcabi-aether/),它可以幫助你更輕鬆地做到這一點,並且不需要代碼 – yegor256