1

自上周以来,我才刚刚开始使用 Scala,我遇到了这个让我发疯的问题。

我有一些代码想从 Java 完全迁移到 Scala(库除外),但由于这个神秘的错误,我遇到了一个块,现在我无法继续。

假设我有一个在org.domain.subdomain.MyClass中定义的类

我有一个似乎没有编译问题的类(正如 Intellij 所建议的那样),但是当我构建项目的模块时,我会得到以下信息

MyClass所需的类文件丢失

org.domain的引用值子域引用不存在的符号。

我确信(或几乎?)在我开始用 Scala 重写代码之前,我已经在项目编译时获得了正确的类路径。

我无法使用详细选项对其进行编译。我使用 FSC 编译器作为项目编译器。Intellij 不显示任何带有详细选项的内容!

这里发生了什么?我该如何解决这个问题?

4

3 回答 3

1

我刚刚遇到了这个问题,并且在 IntelliJ 中重新导入项目有效。我删除了 .idea 目录和 .iml 文件,然后将项目重新导入为 maven。

这是一个 IntelliJ 问题 - 外部 Maven 构建工作正常。

于 2013-08-01T19:01:51.917 回答
0

您的类路径不完整。的引用org.domain.subdomain出现在我们的一个来源引用的类文件中(如错误消息所示)。

如果你正在重写 Java 代码,你可能需要在每个模块的类路径中添加更多的传递依赖。Scala 编译器在类型检查方面更加急切,在某些情况下它需要更大的类路径。

于 2012-09-17T22:18:19.117 回答
0

I know, the question is more than one year old, but maybe it helps someone.

I just had the same issue. One of my libraries used an newer version of org.scala-lang:scala-library than the main project. After the library update everything works fine.

于 2013-12-06T19:06:15.517 回答