5

我已经编写了一小段测试代码,并正在使用 IntelliJ IDEA 12 CE 对其进行编译

import com.twitter.common.zookeeper.ZooKeeperClient
import org.mockito.Mockito

    class MyResourceSpec { 
      val zkClient = mock(classOf[ZooKeeperClient])
      ...
    }

我收到以下错误:

not found: value classOf
  val zkClient = mock(classOf[ZooKeeperClient])
                 ^

但是我能够使用 mvn compile 成功构建项目。此外,我在同一目录“MyOtherResourceSpec.scala”中有另一个测试文件,其中包含完全相同的代码行。

关于为什么这不能在 IDEA 中正确构建的任何想法?

我尝试过的事情:

  • 一位同事建议 IDEA 可能无法将其识别为 scala 文件,我尝试单击顶级项目,然后单击 Maven > 重新导入。

  • 重启 IntelliJ

  • 从“MyOtherResourceSpec.scala”复制所有导入,以防丢失

  • 使用 Mockito.mock(classOf[ZooKeeperClient])

4

3 回答 3

10

好的,我通过单击File > Invalidate Caches并重新启动 IntelliJ 解决了这个问题。然后我不需要导入 Predef.classOf。

我还必须删除以下导入语句:

import scala.Predef.String
于 2013-07-11T22:32:22.783 回答
0

尝试导入Predef.classOf,这应该会有所帮助或只是写Predef.classOf。IDEA 使用自己的基于 sbt 的外部编译器,可能有一些问题

于 2013-07-11T21:19:20.460 回答
0

离线模式下的 Maven

我从版本控制更新了我的项目,其中包括对 Scala 版本的更新。因为我的 Intellij Maven 处于离线模式,所以它无法下载新的 Scala 工件。

将 Intellij Maven 重新上线可能会解决问题(对于像我这样的其他人)。

于 2018-06-06T05:13:07.703 回答