IntelliJ IDEA中build.sbt标红但命令行sbt compile正常问题求助
我来给你梳理几个能解决这个问题的办法,毕竟IDEA和sbt偶尔会出现这种同步不上的情况:
强制重新导入sbt项目
有时候IDEA的自动导入没完全生效,你可以手动触发同步:在IDEA右侧的sbt面板里,点击那个循环箭头样式的刷新图标,选择Reload All sbt Projects。这个操作会让IDEA重新读取build.sbt的配置,同步sbt的依赖和项目结构,比Invalidate Cache更针对sbt的同步问题。核对IDEA与命令行的sbt版本
确认IDEA使用的sbt版本和你命令行里的一致。路径是:File > Settings > Build, Execution, Deployment > Build Tools > sbt。在sbt version选项中,选择Use sbt version from build.sbt or system,或者手动指定和命令行相同的版本。版本不一致时,IDEA解析build.sbt很容易出现错误标红。删除IDEA的项目配置缓存
如果项目根目录下的.idea文件夹里的配置文件损坏,也会导致奇怪的标红问题:- 先关闭IDEA
- 找到项目根目录的
.idea文件夹并删除 - 重新打开IDEA并导入该项目
这个操作会让IDEA重新生成项目配置文件,能解决不少缓存引发的异常。
检查build.sbt的语法细节
虽然命令行sbt能成功编译,但IDEA的sbt插件对语法的检查更严格。比如有没有多余的逗号、括号不匹配,或者某些依赖的写法在IDEA插件里存在兼容问题。你可以仔细看标红位置的提示信息(比如“unclosed string”或“unknown setting”),根据提示修正即可。更新IDEA的Scala/sbt插件
你的IDEA版本是2020.02,自带的sbt插件可能比较老旧。去File > Settings > Plugins里找到Scala插件(sbt插件通常和Scala插件绑定),查看是否有可用更新,更新后重启IDEA再尝试。
内容的提问来源于stack exchange,提问作者Toni.W

