class必须声明为abstract或实现convertToLegacyCheckingEqualizer

Kno*_*uch 4 scala intellij-idea

我在IntelliJ 2017.1 Ultimate中编写了一个简单的测试用例.我在IntelliJ中看到一个绝对错误的错误消息

class must either be declared abstract or implement convertToLegacyCheckingEqualizer
Run Code Online (Sandbox Code Playgroud)

我的代码编译并运行得非常好,但IntelliJ版本总是为每个测试类显示此消息.

我用谷歌搜索,发现完全不满意的答案

* I restarted my IDE to solve the problem
* I deleted my idea project and recreated it to solve the problem
* I cleared ivy cache to solve the problem.
Run Code Online (Sandbox Code Playgroud)

这个解决方案是错误的,并没有真正解决问题.

在此输入图像描述

Mik*_*len 8

尝试一下:在IntelliJ中,转到" 文件"菜单,然后选择" 无效缓存/重新启动..."选项.在结果对话框中,单击" 无效并重新启动"按钮.

之后的IntelliJ重新启动后,请检查您是否仍然有同样的问题.

  • 感谢您的帮助和耐心.我最终发现问题是缺少JDK.我升级了我的系统JDK并删除了旧的JDK而没有在项目设置中更改它.在项目设置中更改它使一切工作:-) (3认同)
  • @FriedBrice运行`sbt clean`(首先从_IntelliJ_退出,并从命令行运行)可能需要付费,然后第二次使_IntelliJ_中的缓存无效.如果失败,可能还需要清除_Ivy_缓存,然后再次重复这些步骤. (2认同)
  • 它是 1.8.0_15x,而不是 1.8.0_162。`brew upgrade` 引入了新版本的 Java,我在 IntelliJ 中的项目结构被错误地配置为指向文字 1.8.0_15x 目录,而不是使用我的 JAVA_HOME 环境变量。我将它设置为使用 JAVA_HOME,这样以后的升级就不会破坏我的项目。 (2认同)