首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供未列出的传递依赖项

提供未列出的传递依赖项
EN

Stack Overflow用户
提问于 2014-06-10 11:40:36
回答 1查看 50关注 0票数 0

我有两个项目,当我列出第一个项目的依赖项时:

代码语言:javascript
复制
[INFO] com.onespatial.gothic:gothic-java:jar:5.16
[INFO] +- com.onespatial.tools.gde:gde-cfg:zip:5.16:provided
[INFO] +- com.onespatial.gothic:gothic-w32:jar:5.16:compile
[INFO] \- com.onespatial.gothic:gothic-lx86_64:jar:5.16:compile

这是正确的。gde是提供的。但是,当我列出第二个项目(其中包括上面的项目)的依赖项时,我得到:

代码语言:javascript
复制
[INFO] +- com.onespatial.radius.studio:rswebmapservice:jar:classes:2.3.4-build-7-SNAPSHOT:compile
[INFO] |  +- com.onespatial.gothic:gothic-java:jar:5.16:compile
[INFO] |  +- com.onespatial.gothic:gothic-lx86_64:jar:5.16:compile
[INFO] |  +- com.onespatial.gothic:gothic-w32:jar:5.16:compile

哥特式-java的传递依赖没有出现在树中(或者当我使用dependency :list时)。有人能解释一下为什么gde-cfg没有被列在上面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-17 12:22:12

正如在Maven博士中所描述的,传递提供的依赖项不会添加到依赖树中。从2006年开始有一个错误报告,此后没有任何进展。

您应该声明在项目中使用的所有依赖项,也就是说,如果您使用的是gde-cfg中的类,则应该在依赖项中声明它,这与是否存在传递依赖关系无关。

我能想到的唯一情况是,如果不实际使用gde-cfg中的任何类,那么依赖关系是必需的,如果您要从哥特式-java扩展类/接口,而这个类/接口扩展了来自gde-cfg的类/接口。在这种情况下,类/接口必须在编译时出现,这在Maven的当前行为中不存在。解决方法是将提供的依赖项手动添加到项目中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24140044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档