Scala导入自定义类报not found错误,IntelliJ识别异常求助
搞定你的Scala导入与实例化问题
嘿,我来帮你梳理下问题出在哪——其实主要是两个点:Scala类的实例化规则,再加个IntelliJ的小缓存坑。
1. 普通类必须用new来实例化
你写的SimpleImport是个普通的Scala类,不是case class,所以不能直接用SimpleImport()来创建对象,必须加上new关键字才行!
把SimpleApp.scala改成这样:
import somepackage.SimpleImport object SimpleApp extends App { val si = new SimpleImport() // 这里补上new就对了 }
只有case class才支持省略new直接用类名括号实例化,普通类可不行,这就是编译报错"not found: value SimpleImport"的核心原因。
2. 搞定IntelliJ的奇怪标记
IntelliJ自动补全能找到导入,但又标红的情况,基本都是IDE缓存抽风了,试试这两步:
- 点顶部菜单栏的
File->Invalidate Caches...,选Invalidate and Restart重启IDE - 右键项目根目录,选
SBT->Refresh SBT Project,让IDE重新同步项目结构
这样之后,那些错误标记应该就消失了。
3. 验证一下
改完代码后,用SBT命令跑一下:
sbt run
这时候应该能正常输出foo啦!
内容的提问来源于stack exchange,提问作者Logister
相关产品推荐
相关产品推荐

