解决Maven依赖问题

12

在一个artifact pom上调用maven2目标mvn dependency:list会导致下载整个依赖包,我认为只需要那些pom文件来解析依赖关系,难道不是吗?


我不太明白你的问题。你是在问是否只下载pom.xml就足以解决依赖关系吗? - Colin Hebert
是的,我不需要获取包,只需显示依赖项列表。 - sof
3个回答

19
依赖插件文档中,您可以看到dependency:listdependency:resolve的别名。您需要的是dependency:tree,它会:

显示此项目的依赖树。

即使使用dependency:tree,您仍然需要下载依赖项。

来自Maven项目开发人员Arnaud Héritier的话

这是Maven核心中的一个问题,在2.x中不允许解析依赖项而不下载工件。


"tree" 转为下载也。 - sof
结果发现这是一个Maven 2的BUG。 - Colin Hebert
“dependency:resolve/list/tree”这些目标对于这种错误的出现有太少的用处吗? - sof
你可以通过下载依赖树pom来解决依赖关系,而无需下载它们本身。我不需要下载每个Spring依赖项来了解它们的需求,只需要pom.xml就足够了(这是OP的问题)。 - Colin Hebert
你知道现代版本的Maven是否已经解决了这个问题吗?@ColinHebert - kinunt
显示剩余4条评论

1
每个 Mojo(Apache Maven 中的插件)都有一个功能描述。请查看所有依赖插件功能

欢迎提供解决方案的链接,但请确保您的答案即使没有链接也是有用的:在链接周围添加上下文,以便其他用户了解它的内容和原因,然后引用您链接的页面中最相关的部分,以防目标页面不可用。仅仅提供链接的答案可能会被删除。 - LW001

0

我正在使用Maven的最新版本(随Eclipse Neon一起提供的插件),我仍在努力理解如何让它做所有它声称能够做到的神奇事情。

我有下面的屏幕截图,在左窗格中突出显示的依赖项未解决。 !依赖树,显示缺失的依赖项1

我认为选择(执行)项目上下文菜单中的“更新项目”选项,如下图所示,会解决它,但它给我留下了三个错误,所有这些错误都是由于缺少依赖项而造成的。

!项目上下文菜单中的Maven fly-out菜单2

通过检查文件系统,我已经确认该依赖关系确实不存在。

让我感到困惑的是,为什么这个操作没有下载缺失的依赖项?


让我少些困惑,使用Maven CLI代替Eclipse插件。 - David A. Gray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接