【问题标题】:Why is the multi-project build.sbt failing?为什么多项目 build.sbt 失败?
【发布时间】:2016-02-19 03:17:36
【问题描述】:

我有下面的 build.sbt。我正在使用 sbt 0.13.9。

name := "myproject"

organization := "myproject"

version := "0.1"

lazy val myproject = project in file(".") aggregate(common, myservice)

lazy val common = (project in file("common"))
    .settings(commonSettings: _*)

lazy val myservice = (project in file("myservice")) dependsOn(common)
    .settings(commonSettings: _*)

lazy val commonSettings = Seq(
  scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"),
  scalaVersion := "2.11.7",
  resolvers ++= Seq("Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/")
)

当我运行 sbt compile 时,它会失败并出现以下错误:

[warn]  module not found: common#common_2.10;0.1-SNAPSHOT
[warn] ==== local: tried
[warn]   /home/priyar/.ivy2/local/common/common_2.10/0.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/common/common_2.10/0.1-SNAPSHOT/common_2.10-0.1-SNAPSHOT.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: common#common_2.10;0.1-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

如果我删除第 10 行 (.settings(commonSettings: _*)) 它运行良好。但我需要那条线。

我从https://github.com/theiterators/reactive-microservices/blob/master/build.sbt复制了这个想法

我做错了什么?

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    在第 11 行的dependsOn 之前放置一个点(.) 解决了这个问题。不知道为什么我认为在 scala 中。对于调用方法是可选的。

    lazy val myservice = (project in file("myservice")).dependsOn(common)
    

    【讨论】:

    • 它是可选的。但一般建议是使用 .以避免一些令人困惑的错误,特别是在大型链中。
    猜你喜欢
    • 1970-01-01
    • 2017-09-02
    • 2011-05-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2014-05-17
    • 2023-01-19
    相关资源
    最近更新 更多