我对如何导入包及其类非常困惑。我有两个scala项目,具有以下目录结构:
project1/
src/
main/
scala/
utils/
some_file.scala
worksheet/
learning.sc
project2/
* seemingly the same as project 1 *
some_file.scala的内容:
package utils
class InterestingClass {
override def toString(): String = "I should be interesting"
}
learning.sc的内容:
package worksheet
import utils.InterestingClass
object learning {
println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet
println(new InterestingClass()) //> I should be interesting
}
当我创建project1/src/main/scala/
时,在Eclipse中,我右键单击main.scala
在src
下面显示为Build Path > Use As Source Folder
并选中:src
,然后在Eclipse中“删除” project2
文件夹。 .project
实际上是我作为在线课程的一部分下载的项目,所以我猜我需要调整.settings
文件或learning.sc
文件夹中的一些配置,因为{{1} }在project1中自动按预期编译并生成两个输出,包括I should be interesting
,但在project2
中它没有,而行import utils.InterestingClass
显示错误not found: object utils
。
我想在构建路径中有一个微妙的不同,但我找不到它,错误信息不会让我更进一步。有关如何调试导入错误的任何提示?查看构建路径,它们看起来是正确的(都有project1/src/main/scala
或project2/src/main/scala
)。
答案 0 :(得分:1)
我刚刚再打开它,现在很好。必须是Eclipse SDK的Scala IDE构建中的错误
构建ID:3.0.4-2.11-20140520-1158-Typesafe
答案 1 :(得分:0)
如果project2
需要在project1
中定义的类,则需要在project2
的设置中将其添加为依赖项。您可以通过导航到项目属性/ Java构建路径然后添加依赖项来实现。