Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 为什么在尝试运行此代码时会出现java.lang.NoClassDefFoundError?_Scala_Classnotfoundexception - Fatal编程技术网

Scala 为什么在尝试运行此代码时会出现java.lang.NoClassDefFoundError?

Scala 为什么在尝试运行此代码时会出现java.lang.NoClassDefFoundError?,scala,classnotfoundexception,Scala,Classnotfoundexception,我想映射字符串中的字符,但遇到运行时错误 例如: object Hello { def hello(c: Char) { print(c) } def main(args: Array[String]) { "Hello World!".map(hello) } } 跟踪: scalac Hello.scala java Hello Exception in thread "main" java.lang.NoClassDefF

我想映射字符串中的字符,但遇到运行时错误

例如:

object Hello {
    def hello(c: Char) {
        print(c)
    }

    def main(args: Array[String]) {
        "Hello World!".map(hello)
    }
}
跟踪:

scalac Hello.scala
java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: scala/LowPriorityImplicits
    at Hello.main(Hello.scala)
Caused by: java.lang.ClassNotFoundException: scala.LowPriorityImplicits
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 1 more
make: *** [test] Error 1

我认为您的问题在于scala库不在运行时类路径中。您必须手动添加

如果您使用的是maven或sbt之类的工具,那么可能会将依赖项标记为已提供而不是已编译


如果您没有使用这些工具,请将“scala library.jar”添加到您的库目录中

也会看到这个问题,因为我没有正确的scala版本。对于使用IntelliJ的用户,您可以在文件项目结构下添加/更改scala SDK全局库

如果您在命令行中编译和运行项目,请确保也安装了正确版本的Scala。e、 g:

检查已安装的Scala版本:

$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
检查build.sbt以获得正确的Scala版本:

scalaVersion := "2.11.8"

它与映射无关,您的类路径有问题。如果您使用
java
命令运行代码,请将scala-library.jar添加到cp——java对scala及其位一无所知。或者使用
scala
命令运行代码。使用
scala Hello
而不是
java Hello
运行程序。