Sbt嵌套依赖项On



我有一个依赖于子项目1的根项目。子项目1依赖于子项目2。这是否意味着我可以直接在根目录中使用子项目2的源代码?

lazy val root =
Project(id = "root", base = file(".")).dependsOn(sub1)
lazy val sub1 =
Project(id = "sub1").dependsOn(sub2)
lazy val sub2 =
Project(id = "sub2")

这很容易检查。

build.sbt

name := "sbtdemo"
version := "0.1"
ThisBuild / scalaVersion := "2.13.4"
lazy val root =
Project(id = "root", base = file(".")).dependsOn(sub1)
lazy val sub1 =
Project(id = "sub1", base = file("sub1")).dependsOn(sub2)
lazy val sub2 =
Project(id = "sub2", base = file("sub2"))

sub2/src/main/scala/App.scala

object App {
def foo() = println("foo")
}

src/main/scala/main.scala

object Main {
def main(args: Array[String]): Unit = {
App.foo() // foo
}
}

是。根据sbt:的Classpath依赖项

lazy val core = project.dependsOn(util)

现在核心中的代码可以使用util中的类。这也在编译项目时创建了项目之间的排序;必须先更新和编译util,然后才能编译core。

相关内容

  • 没有找到相关文章

最新更新