【发布时间】:2019-09-05 11:22:41
【问题描述】:
如果我定义了一个依赖于两个外部源文件夹的 sbt scala 项目,则分析无法正常工作。所以说我定义了以下 build.sbt:
lazy val root = project.in(file("."))
.settings(
name := "repro",
version := "1.0",
scalaVersion := "2.11.8",
unmanagedSourceDirectories in Compile +=
baseDirectory.value / ".." / "ext1" / "src" / "main" / "scala",
unmanagedSourceDirectories in Compile +=
baseDirectory.value / ".." / "ext2" / "src" / "main" / "scala"
)
这样 ext1 中的源依赖于 ext2 中的源。所以在这个例子中,我在 ext1 中定义了一个 trati T1,在 ext2 中定义了一个依赖于 T1 的 trait T2。我的项目中有一个依赖于 T2 的课程。这将在 sbt 中编译得很好。但是当我在 IntelliJ 中导入这个 sbt 项目时,它会编译。但是,当我在编辑器中打开我的 trait T2 时,当我引用 T1 时它给了我一个错误,说“无法解析 ext1”。为什么会出现此错误?
这个问题的复现可以在github上找到,链接如下:
https://github.com/hughgearse/repro
【问题讨论】:
标签: scala intellij-idea sbt