NoClassDefFoundError =>使用播放开始时的ClassPath $ JavaContext [英] NoClassDefFoundError => ClassPath$JavaContext when using play start
问题描述
我制作了一个Scala Play2.0.2应用程序.
I've made a little Scala, Play2.0.2 application.
当我使用play run
命令时工作正常,但是当我使用play start
或play clean compile stage + target/start
时,当尝试使用Casbah/Salat进行MongoDB插入时,我得到以下堆栈:
It works fine when i use play run
command, but when i use play start
or play clean compile stage + target/start
, when trying to do a MongoDB insertion with Casbah/Salat, i get the following stack:
[info] application - Can't create user
java.lang.NoClassDefFoundError: scala/tools/nsc/util/ClassPath$JavaContext
at scala.tools.scalap.scalax.rules.scalasig.ScalaSigParser$.scalaSigFromAttribute(ScalaSig.scala:35) ~[scalap-2.9.1.jar:na]
at scala.tools.scalap.scalax.rules.scalasig.ScalaSigParser$.parse(ScalaSig.scala:38) ~[scalap-2.9.1.jar:na]
at com.novus.salat.util.ScalaSigUtil$$anonfun$parseScalaSig0$2.apply(ScalaSigUtil.scala:73) ~[salat-util_2.9.1-0.0.8-SNAPSHOT.jar:0.0.8-SNAPSHOT]
at com.novus.salat.util.ScalaSigUtil$$anonfun$parseScalaSig0$2.apply(ScalaSigUtil.scala:73) ~[salat-util_2.9.1-0.0.8-SNAPSHOT.jar:0.0.8-SNAPSHOT]
at scala.Option.map(Option.scala:133) ~[scala-library.jar:na]
at com.novus.salat.util.ScalaSigUtil$.parseScalaSig0(ScalaSigUtil.scala:73) ~[salat-util_2.9.1-0.0.8-SNAPSHOT.jar:0.0.8-SNAPSHOT]
Caused by: java.lang.ClassNotFoundException: scala.tools.nsc.util.ClassPath$JavaContext
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_01]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_01]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_01]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_01]
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0_01]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_01]
有什么主意吗?
推荐答案
Scalap似乎需要Scala编译器,因此我添加了依赖项: "org.scala-lang"%"scala-compiler"%"2.9.1"
It seems the Scala compiler is needed by Scalap so i added the dependency: "org.scala-lang" % "scala-compiler" % "2.9.1"
它工作正常.
这使我想到另一个问题: 为什么在运行时需要Scala编译器? (具有Scalap依赖项的Play2/Salat)
Which leads me to another question: Why do i need Scala compiler at runtime? (Play2/Salat with Scalap dependency)
这篇关于NoClassDefFoundError =>使用播放开始时的ClassPath $ JavaContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!