Artifact is pulled without explicit dependency shown by sbt-dependency-graph

北战南征 提交于 2019-12-11 09:54:29

问题


My almost-empty SBT project here has only one dependency:

  • "org.apache.hadoop" % "hadoop-yarn-server-nodemanager" % "2.2.0"

Checking the pom of such artifact, it seems it does not depend on any guice-servlet artifact.

However when I run sbt dependency-tree I see something different, it does depend on a guice-servlet artifact:

user@laptop:~/workspace/pack$ sbt dependency-tree
[info] Loading project definition from /home/user/workspace/pack/project
[info] Set current project to pack (in build file:/home/user/workspace/pack/)
[info] eu.pepot.eu:pack_2.10:0.1 [S]
[info]   +-org.apache.hadoop:hadoop-yarn-server-nodemanager:2.2.0
[info]     +-com.google.inject.extensions:guice-servlet:3.0
[info]     | +-com.google.inject:guice:3.0
[info]     |   +-aopalliance:aopalliance:1.0
[info]     |   +-javax.inject:javax.inject:1
...

What am I missing?


回答1:


This dependency comes from the parent pom, hadoop-yarn.

hadoop-yarn-server-nodemanager use hadoop-yarn-server which use hadoop-yarn. This pom has a lot of dependencies, including Guice.



来源:https://stackoverflow.com/questions/36320695/artifact-is-pulled-without-explicit-dependency-shown-by-sbt-dependency-graph

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!