【发布时间】:2011-08-14 08:01:14
【问题描述】:
我正在 Eclipse 中使用 Scala 2.9.0.1。
我有一个 Scala 类/特征层次结构,类似于:
A.scala: trait A
B.scala: trait B extends A
C.scala: trait C extends B
除了更复杂;太大,无法作为示例发布。
所以,C 间接依赖于 A,但 A 对 C 一无所知。
现在,如果我更改 A,我到处都会出错,所以我继续努力。一旦我最终修复了 C 中的最后一个错误,编译器突然告诉我 A 无法编译。由于 A 不以任何方式依赖于 C,因此这没有逻辑意义。事实上,我会说这是一个编译器错误。这在我身上发生了好几次,非常令人沮丧,因为这意味着我必须再次更改 A,并再次修改我的整个类层次结构。
有没有办法让 Scala 编译器(在 Eclipse 中)给我可靠的结果?只有我有这种行为吗?
【问题讨论】:
-
Eclipse 中的 Scala IDE 仍处于测试阶段。我听说开发团队将包含一个 SBT 风格的文件依赖跟踪基础设施,它可能会解决这些问题。
-
最新的夜间构建确实包括应该处理这些问题的实验性 sbt 构建器。每晚安装最新版本,在 Preferences > Scala > Compiler > Build manager 中选择 sbt。如果您仍然看到类似的问题,请创建一个展示问题的小示例并向 Scala IDE 问题跟踪器报告。
-
您使用的是哪个版本的 Eclipse 和 Scala 的 Eclipse 插件?这是非常重要的一点——您遇到的是 eclipse 插件 错误,而不是 scala 编译器错误。
标签: eclipse scala compiler-errors