windows - Scala SBT - 运行简单命令时出现 Java ClassNotFoundException
问题描述
我正在使用带有 SBT 1.5.4 的 OpenJDK 11
我还将我的系统环境变量路径设置为
C:\sbt\bin
- 即我在 Windows 上我也定义了 JAVA_HOME。
当我从命令行运行sbt
命令时,我收到以下错误:
copying runtime jar...
[info] [launcher] getting org.scala-sbt sbt 1.4.1 (this may take some time)...
[info] [launcher] getting Scala 2.13.3 (for sbt)...
java.lang.NoClassDefFoundError: scala/Serializable
at sbt.internal.ClassLoaderWarmup$.warmup(XMainConfiguration.scala:31)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:82)
at sbt.xMain.run(Main.scala:46)
at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
at xsbt.boot.Launch$.run(Launch.scala:149)
at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
at xsbt.boot.Launch$.launch(Launch.scala:159)
at xsbt.boot.Launch$.apply(Launch.scala:44)
at xsbt.boot.Launch$.apply(Launch.scala:21)
at xsbt.boot.Boot$.runImpl(Boot.scala:78)
at xsbt.boot.Boot$.run(Boot.scala:73)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.lang.ClassNotFoundException: scala.Serializable
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 18 more
[error] [launcher] error during sbt launcher: java.lang.NoClassDefFoundError: scala/Serializable
我不知道我做错了什么,因为根据文档,这应该可以工作。我也尝试删除HOME/.sbt
目录以重复该过程,但没有运气。任何人的任何想法?
解决方案
它说[info] [launcher] getting Scala 2.13.3 (for sbt)...
。但是 sbt 应该总是使用 Scala 2.12。你在目录scalaVersion := "2.13.3"
中的某个地方有一行吗?project
推荐阅读
- python - 列表项 (Kivy & KivyMD) 循环值的回调
- javascript - 在 Puppeteer 的评估函数中使用 setInterval 的异步函数无法正确执行
- google-apps-script - 应用脚本生成的 Google 文档有意外的所有者
- google-cloud-platform - 获取“调用者没有 storage.objects.get 访问 Google Cloud Storage 对象的权限。” 从 GKE 上的应用访问 GCS 文件时
- rocket.chat - 如何使用实时(websocket)API 检索频道成员列表?
- html - 为什么我的引导导航栏切换按钮不起作用?
- microservices - 我们可以在不使用间隔的情况下在nestjs中使用服务器发送的事件吗?
- mysql - 迁移 Laravel 8 时出现错误
- timer - STM32F302R8。TIM2 作为输出和 TIM15 作为输入对我不起作用
- node.js - Flutter中的Socket两次接收事件