【问题标题】:sbt multiple degree dependenciessbt 多度依赖
【发布时间】:2018-07-10 15:02:05
【问题描述】:

我正在关注此博客中的代码:https://pbassiner.github.io/blog/defining_multi-project_builds_with_sbt.html。它向我展示了如何创建具有依赖项的多项目构建。 multi1 依赖于 common,multi2 也依赖于 common。但是,如果我有 2 度依赖怎么办? IE。 multi1依赖于common,multi2依赖于multi1?

从这里:常见 -> mutli1;常见-> multi2 为此:common -> multi1 -> multi2

准确地说,这样的依赖树是如何改变这段代码的呢? (从博客复制)

lazy val global = project
  .in(file("."))
  .settings(settings)
  .aggregate(
    common,
    multi1,
    multi2
  )

lazy val common = project
  .settings(
    settings,
    libraryDependencies ++= commonDependencies
  )

lazy val multi1 = project
  .settings(
    settings,
    libraryDependencies ++= commonDependencies ++ Seq(
      dependencies.monocleCore,
      dependencies.monocleMacro
    )
  )
  .dependsOn(
    common
  )

lazy val multi2 = project
  .settings(
    settings,
    libraryDependencies ++= commonDependencies ++ Seq(
      dependencies.pureconfig
    )
  )
  .dependsOn(
    common
  )

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    常见-> mutli1;常见 -> multi2

    表示milti1.dependsOn(common)milti2.dependsOn(common)

    common -> multi1 -> multi2

    表示milti2.dependsOn(multi1)milti1.dependsOn(common)

    所以你只需要更改一行,说multi2 依赖于multi1(而不是common):

    lazy val multi2 = project
      .settings(
        ...
      )
      .dependsOn(
        multi1
      )
    

    传递依赖按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 2018-03-20
      • 2015-08-26
      • 2018-04-10
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多