我有一个依赖于subproject1的根项目。而subproject1取决于subproject2。这是否意味着我可以直接在root用户中使用subproject2的源代码?
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
}
}