繁体   English   中英

ClassNotFoundException:scala.PreDef$ 问题

[英]ClassNotFoundException:scala.PreDef$ issue

我正在尝试通过 Eclipse 的导出功能打包一个用 Scala 编写的简单可执行 Jar。

尝试从 cmd java -jar test2.jar执行 Jar 时

我收到以下错误。 有任何想法吗? 谢谢你。

Caused by: java.lang.NoClassDefFoundError: scala/Predef$
        at Parser.Test(Parser.scala:5)
        at Main.main(Main.java:12)
        ... 5 more
Caused by: java.lang.ClassNotFoundException: scala.Predef$
        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 java.lang.ClassLoader.loadClass(Unknown Source)
        ... 7 more

您只需要将 Scala 库 jar 添加到类路径。

您可以这样做(假设“scala-library.jar”jar 在当前目录中):

java -cp scala-library.jar -jar test2.jar

可以在此处找到有关java comamnd 的文档: http : //docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

对我来说,我使用的是 jdk 11 和 scala 库容器 2.12.3,当我更改为 jdk 8 时,它工作正常,这是因为 jdk11 scala 版本支持JDK 兼容性

右键项目,构建路径,配置构建路径,将你的jdk编辑为小于11

您还可以将 Scala 库与您的项目打包在一起。 看到这个帖子

我确实从项目中删除了Scala 库容器”。 下一步-添加需要Scala的库(斯卡拉-library.jar)Java构建路径在属性)为“添加外部JAR ...”我的图书馆(不作为参考斯卡拉LIB)。 并将它们全部包含到“订购和导出最后- 使用选项“将所需的库打包到生成 JAR 中”为项目进行导出,这很好用:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM