首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dependsOn %“编译->编译;测试->测试”

dependsOn %“编译->编译;测试->测试”
EN

Stack Overflow用户
提问于 2021-05-05 23:34:04
回答 1查看 476关注 0票数 2

我一直在试图理解“编译->编译;测试->测试”是为了什么,但是在阅读了sbt页面后,我仍然不理解它.

假设我在build.sbt里有这个

代码语言:javascript
复制
lazy val `api` = project.dependsOn(`domain` % "compile->compile;test->test")
...
lazy val `domain` = project...

如果我删除“编译->编译;测试->测试”,有什么区别?

代码语言:javascript
复制
lazy val `api` = project.dependsOn(`domain`)
...
lazy val `domain` = project...

如果我只写“测试->测试”呢?还是“编译->编译”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 00:59:12

查看正在发生的事情的有用命令是

代码语言:javascript
复制
show api / Test / dependencyClasspath
show api / Compile / dependencyClasspath

这将揭示准确的类路径。

如果删除“编译->编译;测试->测试”,则为

代码语言:javascript
复制
lazy val api = project.dependsOn(domain)

等于

代码语言:javascript
复制
lazy val api = project.dependsOn(domain % "compile->compile")

这意味着api / Compile配置依赖于domain / Compile。如果您执行show api / Test / dependencyClasspath,那么您应该会看到domain的测试类路径不存在。

,如果我只放"test->test“怎么办?

代码语言:javascript
复制
lazy val api = project.dependsOn(domain % "test->test")

这意味着api / Test依赖于domain / Test,而执行show api / Test / dependencyClasspath则显示domaintest类路径存在,而执行show api / Compile / dependencyClasspath则显示domaincompile类路径不存在。

因此,如果您希望api / Test依赖于domain / Test,而api / Compile依赖于domain / Compile,那么您必须指定

代码语言:javascript
复制
lazy val api = project.dependsOn(domain % "compile->compile;test->test")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67410044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档