mca*_*dre 15 scala classnotfoundexception
我想映射字符串中的字符,但我遇到了运行时错误.
例:
object Hello {
def hello(c: Char) {
print(c)
}
def main(args: Array[String]) {
"Hello World!".map(hello)
}
}
Run Code Online (Sandbox Code Playgroud)
跟踪:
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
Run Code Online (Sandbox Code Playgroud)
我认为你的问题是scala库不在你的运行时类路径中.你必须手动手动添加.
如果您使用的是maven或sbt等工具,可能会将依赖项标记为提供而不是编译.
如果您不使用这些工具,请将"scala-library.jar"添加到库目录中
也看到这个问题,因为我没有正确的Scala版本。对于使用IntelliJ的用户,可以在File > Project Structures > Global Libraries下添加/更改scala SDK :
如果要在命令行中编译和运行项目,请确保还安装了正确版本的Scala。例如:
检查安装的Scala版本:
$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
Run Code Online (Sandbox Code Playgroud)
检查build.sbt以获取正确版本的Scala:
scalaVersion := "2.11.8"
Run Code Online (Sandbox Code Playgroud)