【发布时间】:2015-11-03 19:32:17
【问题描述】:
我有许多不同的 scala 文件,每个文件都定义了自己的类。所有文件都位于同一目录中。据我了解,如果它们位于同一目录中,则无需担心包或导入。但是我正在尝试编译一个文件,但我收到了not found 错误。
使用来自不同文件的类和对象有区别吗?有人可以解释一下怎么做吗?
【问题讨论】:
标签: scala
我有许多不同的 scala 文件,每个文件都定义了自己的类。所有文件都位于同一目录中。据我了解,如果它们位于同一目录中,则无需担心包或导入。但是我正在尝试编译一个文件,但我收到了not found 错误。
使用来自不同文件的类和对象有区别吗?有人可以解释一下怎么做吗?
【问题讨论】:
标签: scala
检查您的文件是否都在同一个package。
Scala 打破了文件夹结构需要表示包结构的 Java 约定。 因此,当您将文件放入错误的包中时,您将不会收到任何反馈和/或自动警告。
在给定的示例中,文件位于同一个文件夹中,但属于不同的包。
src/main/scala/biz/neumann/foo.scala
package biz.neumann.not_in_example
class Foo
src/main/scala/biz/neumann/bar.scala
package biz.neumann.example
class Bar
biz .neumann .not_in_example .Foo
.example .Bar
【讨论】:
classes 始终位于package 中。您的files 始终位于folders。所以文件不能放在包中,因为这是完全不同的事情。