【发布时间】:2014-08-03 13:42:51
【问题描述】:
我正在使用以下内容:
- Scala 2.10.4
- Scalatra 2.2.2
- sbt 0.13.0
- java 1.8.0
- casbah 2.7.2
- scalatra-sbt 0.3.5
我经常遇到这个错误:
21:32:00.836 [qtp1687101938-55] ERROR o.fusesource.scalate.TemplateEngine - Compilation failed:
error: error while loading CharSequence, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 18 at byte 10)
error: error while loading ConcurrentMap, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/util/concurrent/ConcurrentMap.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 18 at byte 61)
two errors found
21:38:03.616 [qtp1687101938-56] ERROR o.fusesource.scalate.TemplateEngine - Compilation failed:
error: error while loading AnnotatedElement, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 18 at byte 76)
one error found
目前我只是尝试在我的 MongoDB 集合上调用 .count() 时遇到了这个问题。
在谷歌上搜索,似乎它可能是由依赖问题引起的。问题是,我使用 Scalatra 只是为了提供 API,实际上不需要任何 scalate 东西。我注释掉了所有对它的引用,但我仍然明白这一点。会不会是我正在使用的库之间的依赖问题?
【问题讨论】:
-
换成 java 7 再试一次。这是 java 8 和使用 scala 2.9 的代码的问题
-
所有损坏的类都是JDK的一部分,这似乎表明@ajozwik是对的。
-
修复了吗?我有类似的问题,但我正在使用 scala 2.11.4 和 Java 8 :(