Java 如何在maven插件中下载依赖项?

Java 如何在maven插件中下载依赖项?,java,eclipse,maven,maven-plugin,aether,Java,Eclipse,Maven,Maven Plugin,Aether,在支持maven2.2.x1)、3.0.x、3.1.x和更新版本的同时,从maven插件中下载远程maven工件的最佳方式是什么 Aether似乎是一个很好的候选者,但它在3.0.5和3.1之间改变了包名称空间,破坏了兼容性 周围有一些信息 一些指向(如建议的)(如何?) 又一次, 我认为它使用的是Aether,可能存在相同的版本不兼容问题 尝试根据示例手动强制您的版本 尝试移植真正的 其他人呢 那么,正确的方法是什么,或者至少是有效的方法呢 1) Maven2.2.x是一个不错的选择,正如

在支持maven
2.2.x
1)、
3.0.x
3.1.x
和更新版本的同时,从maven插件中下载远程maven工件的最佳方式是什么

Aether
似乎是一个很好的候选者,但它在
3.0.5
3.1
之间改变了包名称空间,破坏了兼容性

周围有一些信息

  • 一些指向(如建议的)(如何?)
  • 又一次,
  • 我认为它使用的是
    Aether
    ,可能存在相同的版本不兼容问题
  • 尝试根据示例手动强制您的
    版本
  • 尝试移植真正的
  • 其他人呢
那么,正确的方法是什么,或者至少是有效的方法呢


1) Maven
2.2.x
是一个不错的选择,正如@khmarbaise

所指出的,如果你在一个插件中,并且想调用另一个插件,那么最好的解决方案是使用它。这样,您就不会重写maven依赖插件。。。
考虑到maven版本的问题,我想你确实应该放弃maven 2.*支持。

你需要下载什么样的依赖项?你真的需要支持Maven 2吗。?你是说2.0.X还是2.2.X?@khmarbaise,
2.2.X
和任何来自中央的工件。看看maven compat模块,这可能会有所帮助。你知道吗?@khmarbaise,也许我可以重新回答这个问题,说明
2.2.x
很好,因为仍然有很多人在使用它。Maven 2.2.1已经在五年前达到了它的EOL。(检查)。支持3.x.y才有意义。我已经有一段时间没有处理这个问题了,但我认为你所引用的卡拉夫选项看起来不错。或者,如果您真的必须支持2.2.x,您可以编写自己的实用程序类,在Karaf helper中看到的内容和在2.2.x中通常下载它们的方式之间进行切换。有趣的是,我的用例需要一个
工件
实例,是否可以使用Mojo Executor?您可以详细说明一下吗“我的用例需要一个工件" ? 您必须为maven dependencies插件提供要下载工件的maven坐标。您希望插件的用户在POM中提供这些功能吗?如果是这样的话,你可以通过查看依赖项的来源(mojos:它们对集合的使用)获得一些灵感。我最好下载一个工件,然后获得它的句柄,例如能够将它复制到本地文件系统的某个地方。你知道这正是允许你做的事情吗?您甚至不需要自定义代码。