Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 在IntelliJ ClassNotFoundException中运行测试_Scala_Testing_Intellij Idea_Specs2 - Fatal编程技术网

Scala 在IntelliJ ClassNotFoundException中运行测试

Scala 在IntelliJ ClassNotFoundException中运行测试,scala,testing,intellij-idea,specs2,Scala,Testing,Intellij Idea,Specs2,我尝试了许多不同的运行配置,但无论我做什么,在IntelliJ for scala中运行specs2测试时都会出现此异常 它总是找不到以$符号结尾的类。我检查过了,实际上没有这样的类文件。有AppControllerIT.class和许多类似AppControllerIT$innerFunctionOrclass.clas的类,但没有AppControllerIT$.class 有什么想法吗 谢谢 com.haha.market.api.e2e.controllers.AppController

我尝试了许多不同的运行配置,但无论我做什么,在IntelliJ for scala中运行specs2测试时都会出现此异常

它总是找不到以
$
符号结尾的类。我检查过了,实际上没有这样的类文件。有AppControllerIT.class和许多类似AppControllerIT$innerFunctionOrclass.clas的类,但没有AppControllerIT$.class

有什么想法吗

谢谢

com.haha.market.api.e2e.controllers.AppControllerIT$

java.lang.ClassNotFoundException: com.haha.market.api.e2e.controllers.AppControllerIT$


STACKTRACE
  java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
  java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  org.specs2.reflect.Classes$$anonfun$loadClassEither$1.apply(Classes.scala:140)
  org.specs2.reflect.Classes$$anonfun$loadClassEither$1.apply(Classes.scala:140)
  org.specs2.control.ActionT$$anonfun$safe$1.apply(ActionT.scala:89)
  org.specs2.control.ActionT$$anonfun$reader$1$$anonfun$apply$6.apply(ActionT.scala:80)
  org.specs2.control.Status$.safe(Status.scala:100)

末尾带有
$
符号的类是从编译的Scala对象生成的。这意味着您可能定义了一个类似以下内容的对象:

package com.haha.market.api.e2e.controllers

object AppControllerIT {
}

从您的错误来看,似乎是旧的编译工件或库(?)正在污染您的类路径。首先,尝试清理项目(
mvn clean
sbt clean
)。接下来,尝试清理IntelliJ内项目中的所有库。IntelliJ有时会缓存同一库的多个版本,这可能会在运行时造成混乱。要清理这些库,请转到IntelliJ中的“文件->项目结构”,手动删除您可能拥有的任何重复库

你试过清理和重建一切吗?你所有的资料都在整理吗?这确实是一个奇怪的错误。@DanielL.,是的,他尝试过清理所有东西并重建——没有任何帮助。这确实是一个IntelliJ问题,因为测试是有效的,如果我在命令行中键入mvn test,那么我什么也得不到。我会尝试不同的SDK只是为了好玩,可能会通过小步删除和重新添加功能:-(