【问题标题】:In SBT 1.3.8 how can I figure out who is bringing in a dependency?在 SBT 1.3.8 中,我如何确定谁引入了依赖项?
【发布时间】:2020-08-08 20:34:17
【问题描述】:

当我使用 sbt jetty:quickstart 启动应用程序时,出现容器初始化错误。我认为这是因为我的应用程序引入了一个旧的 servlet 实例。我没有明确提到这种依赖关系。

我找到了文件:/C:/Users/drewb/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api -2.5.jar 在我的 jetty:quickstart 的类路径上,我猜这是导致错误的原因。我试图弄清楚如何确定是谁带来了这种依赖关系,这样我就可以摆脱它。

在 SBT 1.3.8 中,我如何确定谁引入了依赖项?因为 sbt-dependency-graph 不适用于 1.3.x 我正在寻找替代方案 - 希望 sbt 团队有想法。

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    我无法使用 sbt 1.3.8 完成这项工作。我退回到 1.2.8 并最终使用 coursierDependencyTree 和 coursier 插件。 addSbtPlugin("io.get-coursier" % "sbt-coursier" % "2.0.0-RC6-1") https://get-coursier.io/docs/sbt-coursier

    【讨论】:

    • 它适用于 1.3.9(大概也适用于 1.3.8)和旧版本的 sbt-coursier 插件。 addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3").感谢 domainexpert 在github.com/sbt/sbt/issues/5040 上对这个提示的评论。
    【解决方案2】:

    我使用 sbt-dependency-graph 进行依赖层次查找

    https://github.com/jrudolph/sbt-dependency-graph

    【讨论】:

    • sbt >= 1.3.x 目前不支持(但希望很快修复),不幸的是,这个问题不能在 sbt-dependency-graph 本身中修复,而是 sbt 中的回归。如果您想继续使用 sbt-dependency-graph,请将您的支持添加到 sbt/sbt#4706 和 sbt/sbt#4707。
    猜你喜欢
    • 1970-01-01
    • 2011-12-25
    • 2012-08-27
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 2016-07-18
    • 2018-03-20
    • 2019-04-02
    相关资源
    最近更新 更多