我一直在努力理解什么"编译->编写测试->测试";是的,但在sbt页面上阅读后,我仍然不明白。。。
假设我在build.sbt 中有这个
lazy val `api` = project.dependsOn(`domain` % "compile->compile;test->test")
...
lazy val `domain` = project...
如果我去掉";编译->编写测试->测试";
lazy val `api` = project.dependsOn(`domain`)
...
lazy val `domain` = project...
如果我只把";测试->测试";?或者";编译->编译";?
是查看发生了什么的有用命令
show api / Test / dependencyClasspath
show api / Compile / dependencyClasspath
这将揭示确切的类路径。
如果我删除";编译->编写测试->测试";
lazy val api = project.dependsOn(domain)
相当于
lazy val api = project.dependsOn(domain % "compile->compile")
意味着CCD_ 1配置依赖于CCD_。如果您执行show api / Test / dependencyClasspath
,那么您应该看到domain
的测试类路径不存在。
如果我只把";测试->测试";?
lazy val api = project.dependsOn(domain % "test->test")
意味着api / Test
依赖于domain / Test
,并且执行show api / Test / dependencyClasspath
应该显示存在domain
的test
类路径。但是,执行api / Compile
0应该会发现domain
的compile
类路径不存在。
因此,如果您希望api / Test
依赖于domain / Test
,api / Compile
依赖于domain / Compile
,则必须指定
lazy val api = project.dependsOn(domain % "compile->compile;test->test")