【问题标题】:ScalaTest Eclipse Plugin saying ClassNotFoundExceptionScalaTest Eclipse 插件说 ClassNotFoundException
【发布时间】:2014-10-07 15:24:18
【问题描述】:

我有一个 ScalaTest 测试,我试图通过右键单击并单击 run as > ScalaTest File 来通过 Eclipse 运行它,但 Eclipse 告诉我

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1 at scala.tools.eclipse.scalatest.launching.ScalaTestLauncher.main(ScalaTestLauncher.scala) Caused by: java.lang.ClassNotFoundException: scala.Function1 at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 1 more

我不知道该怎么做。

我正在使用 Eclipse 的 Scala IDE 构建
内部版本号:3.0.4-2.11-20140723-2253-Typesafe
4.3.0版

我使用的是 Scala 版本 2.11.1
ScalaTest 版本 2.11-2.1.6

我通过 Typesafe Activator 程序获得了 Scala 和 ScalaTest,并从他们的 webapp 生成了 Eclipse 项目定义。 ScalaTest 插件来自 Scala IDE 网站。

【问题讨论】:

  • 它与这个问题有关:stackoverflow.com/questions/19432509/… 当我删除 scala jar(使用 typesafe 激活器为我添加的 .ivy 路径中的那个)时,Eclipse 告诉我它可以不再检测 scala 编译器并询问我是否要添加一个。我说是的,它添加了 Scala IDE 附带的那个。然后scalatest开始工作

标签: eclipse scalatest


【解决方案1】:

我在Scala IDE Eclipse 4.3.04.1.1-vfinal-20150727-1320-Typesafe 构建中收到此异常。这是由于项目缺少 Scala 库引起的,尽管我将项目创建为 Scala 项目。我必须通过右键单击并选择 Add Scala Library to Build Path 来手动添加 scala 库

在添加库之前,它看起来像这样:

添加库并运行 ScalaTest 测试后,它看起来像这样:

有人可能会猜到,当使用Scala Project Wizard 创建具有Scala Nature 的项目时,Scala Library 会自动添加——至少我是这样做的。但是,情况似乎并非如此。如果这是一个设计选择,它可能已经做出,因为 Scala Library 通常被指定为项目的依赖项,并且 IDE 添加的版本是不同版本,导致令人惊讶的行为以及 IDE 警告.如果这是基本原理,那么向导应该提示用户做出决定,并可能提供明智的建议。

【讨论】:

    【解决方案2】:

    你在使用 sbt 吗?使用“sbt eclipse”时可能会出现此错误。解决方案是升级 sbteclipse 插件。它适用于最新版本(肯定在 4.0.0 中)。

    老版本插件的问题是它不会将“org.scala-ide.sdt.launching.SCALA_CONTAINER”生成到.classpath文件中。

    【讨论】:

    • 我有同样的问题,并且“org.scala-ide.sdt.launching.SCALA_CONTAINER”确实出现在我的类路径中。它是由 sbteclipse 3.0.0 生成的,因为 4.0.0 版本抛出异常
    猜你喜欢
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多