我正在寻找一个可用于从远程存储库中检索Maven工件的Java API.到目前为止我找到了Eclipse Ather,但它看起来很复杂,因此我需要更简单的东西.
我需要的是:
我发现常春藤API非常复杂.
使用Ivy 100%以编程方式(没有Ant,没有Xml文件,......)从Maven Central检索工件到特定本地目录的最简单的片段是什么?
为了举例说明检索commons-logging:commons-logging:1.1:jar into/my/destination.
我正在编写一个应用程序,要求我下载一个给定mavens groupid/artifactid/version的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();
}
}
Run Code Online (Sandbox Code Playgroud)
所以给定POM的url,我现在有maven Model对象来表示它.这似乎运作良好.
我想知道的是两件事:
我已经有质量差的解决方案:我去mvnrepository.com手动编码url,我使用〜/ .m2/repository作为文件的前缀.我显然可以改进这个解决方案,但是我最终会很难复制经过充分测试并在maven代码库中使用的代码.
我真的很想知道如何使用maven类来做到这一点.
我已经做了相当多的谷歌搜索,但搜索maven和jar(甚至在stackoverflow)上的任何有趣的事情是我找到了很多关于如何使用maven的解决方案,而不是如何使用maven类进行编码.
谢谢您的帮助
我想将 Maven 或具有所有魔力的库嵌入到我的 Java 应用程序中。
要点:
他们是我想要执行的两项任务:
1/ 在本地存储库中
发布 jar 2/ 在私有企业存储库 (Nexus) 中发布 jar
所有必需的 jar 必须位于公共 Maven 存储库中
jar 应该与 Maven 版本无关(即不特定于 Maven 2 或 3)
如果可以,请提供您的回复的片段。