scala - Intellij idea scala 工作表内部错误 : java. lang.NoClassDefFoundError: scala/Serializable

标签 scala intellij-idea worksheet

我无法在 Intelijj IDEA 的 Scala 工作表中定义函数。此外,工作表在 repl 运行类型中不显示任何内容 - 我必须切换到普通运行类型。我可以在工作表中定义例如变量。当我从终端运行 scala repl 时,我可以按预期定义函数。

在 Ubuntu 18.04 上运行。我正在使用 Intelijj IDEA 2019.1.3,我已经安装了 Java JDK 8.0_221(根据 https://www.vultr.com/docs/how-to-manually-install-java-8-on-ubuntu-16-04 页面的说明)和来自 scala 页面的 .deb 包的 scala 2.13.0。

在工作表中:

def max(x: Int, y: Int): Int =  {
  if(x > y) x 
  else y
}

预期: 函数最大值定义

实际结果:

Internal error: java.lang.NoClassDefFoundError: scala/Serializable
org.jetbrains.jps.incremental.scala.remote.ClientEventProcessor.process(ClientEventProcessor.scala:22)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.handle(RemoteResourceOwner.scala:47)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.handle$(RemoteResourceOwner.scala:37)
org.jetbrains.plugins.scala.compiler.RemoteServerRunner.handle(RemoteServerRunner.scala:16)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$5(RemoteResourceOwner.scala:30)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$5$adapted(RemoteResourceOwner.scala:29)
org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$3(RemoteResourceOwner.scala:29)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$3$adapted(RemoteResourceOwner.scala:25)
org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$2(RemoteResourceOwner.scala:25)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.$anonfun$send$2$adapted(RemoteResourceOwner.scala:24)
org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.send(RemoteResourceOwner.scala:24)
org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner.send$(RemoteResourceOwner.scala:22)
org.jetbrains.plugins.scala.compiler.RemoteServerRunner.send(RemoteServerRunner.scala:16)
org.jetbrains.plugins.scala.compiler.RemoteServerRunner$$anon$1.$anonfun$run$1(RemoteServerRunner.scala:36)
scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:155)
org.jetbrains.plugins.scala.compiler.RemoteServerRunner$$anon$1.run(RemoteServerRunner.scala:32)
org.jetbrains.plugins.scala.worksheet.server.RemoteServerConnector.compileAndRun(RemoteServerConnector.scala:111)
org.jetbrains.plugins.scala.worksheet.processor.WorksheetCompiler$$anon$3.run(WorksheetCompiler.scala:61)
com.intellij.compiler.progress.CompilerTask.run(CompilerTask.java:185)
com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:731)
com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586)
com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86)
com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:403)
com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:311)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)

最佳答案

我在使用 scala 2.13.0 时遇到了同样的问题,并且浪费了很多时间来寻找正确的建议。然后我将全局库更改为 scala-sdk-2.12.7,现在在 REPL 中一切正常。

关于scala - Intellij idea scala 工作表内部错误 : java. lang.NoClassDefFoundError: scala/Serializable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57126135/

相关文章:

scala - Spark DataFrame 不尊重模式并将所有内容视为字符串

android - Intellij 13 ADB 没有响应

java - Spring-mvc 406 Not Acceptable URl

vba - 在 protected 工作表 Excel 功能区上启用清除过滤器

excel - 具有两个标准的 MATCH 公式作为工作表函数 (VBA)

scala - 如何在 Scala 中使用泛型

scala - 如何初始化协变变量?

syntax - 匿名 Scala 函数语法

intellij-idea - Gradle 依赖管理 - 传递依赖版本不正确

excel - Powershell Excel 自动添加工作表