Maven Java API:独立依赖性解析(即不是Maven插件)

时间:2013-06-05 15:50:49

标签: java maven dependencies aether plexus

我一直在尝试开发一个相对简单的应用程序(用作自定义构建过程的前导码),它将处理一些POM并从远程仓库预先(transitevely)解析所有依赖项。

我已经成功地从POM中提取了各种属性(我正在其他地方使用它),但依赖解析被证明是相当困难的。

我已经尝试过使用org.apache.maven中的各种类,并且还研究了Aether。我已经在网上倾诉了许多关于依赖解析的资源与org.apache.maven,但它们似乎都涵盖了Maven插件(它带有注释的Plexus容器)而不是一个独立的应用程序,我不相信[相信我]可以访问该容器,因此无法使用我需要的各种对象,例如ArtifactResolver或ArtifactRepositoryFactory。

有没有办法在不作为Maven的一部分执行时获取Plexus容器?如果是这样,有没有很好的资源来解释这个?如果没有,是否有任何不需要Plexus容器的关键类的实现?

2 个答案:

答案 0 :(得分:2)

可能会回答您问题的两个开源项目是IvyLeiningen。两者都连接到maven repos来进行依赖关系管理,但似乎没有使用maven命令行。请注意,Leiningen适用于Clojure项目,因此如果您不了解Clojure,可能很难理解。我从来没有看过它的来源。据我所知,它是用Java编写的。

答案 1 :(得分:1)

看看Eclipse Aether,有一个example可以做到这一点。