首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >朱庇特-斯卡拉笔记本继续用NullPointerException重新开始

朱庇特-斯卡拉笔记本继续用NullPointerException重新开始
EN

Stack Overflow用户
提问于 2018-03-26 08:12:11
回答 1查看 1.1K关注 0票数 2

我试着用木星笔记本来学习Scala。我用国产软件安装了Scala。

代码语言:javascript
复制
brew install scala

Scala似乎在命令行中工作得很好。按照jupyter-scala中给出的指令执行本站之后,我用Scala内核启动了朱庇特笔记本。弹出以下错误。

代码语言:javascript
复制
[I 12:35:05.028 NotebookApp] Kernel started: d440cf06-8a67-468c-9da4-ec8a701e0bcf
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
    at jupyter.kernel.server.ServerApp$.apply(ServerApp.scala:174)
    at jupyter.scala.JupyterScalaApp.delayedEndpoint$jupyter$scala$JupyterScalaApp$1(JupyterScala.scala:93)
    at jupyter.scala.JupyterScalaApp$delayedInit$body.apply(JupyterScala.scala:13)
    at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
    at caseapp.App$$anonfun$apply$1.apply(App.scala:47)
    at caseapp.App$$anonfun$apply$1.apply(App.scala:46)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
    at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
    at caseapp.App$class.apply(App.scala:46)
    at jupyter.scala.JupyterScalaApp.apply(JupyterScala.scala:13)
    at caseapp.AppOf.main(App.scala:121)
    at jupyter.scala.JupyterScala.main(JupyterScala.scala)
    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:564)
    at coursier.cli.qJ.a(Unknown Source)
    at coursier.cli.qI.j(Unknown Source)
    at coursier.cli.qO.a(Unknown Source)
    at d.g.a.c(Unknown Source)
    at b.b.d_(Unknown Source)
    at d.b.d.E.g(Unknown Source)
    at d.b.e.aU.g(Unknown Source)
    at a.c.a(Unknown Source)
    at coursier.cli.qI.b(Unknown Source)
    at coursier.cli.O.b(Unknown Source)
    at b.I.d_(Unknown Source)
    at d.E.h(Unknown Source)
    at a.aH.a(Unknown Source)
    at coursier.cli.Coursier.main(Unknown Source)
    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:564)
    at coursier.Bootstrap.main(Bootstrap.java:412)
Caused by: java.lang.NullPointerException
    at ammonite.runtime.Classpath$.classpath(Classpath.scala:31)
    at ammonite.interp.Interpreter.init(Interpreter.scala:93)
    at ammonite.interp.Interpreter.processModule(Interpreter.scala:409)
    at ammonite.interp.Interpreter$$anonfun$10.apply(Interpreter.scala:151)
    at ammonite.interp.Interpreter$$anonfun$10.apply(Interpreter.scala:148)
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
    at ammonite.interp.Interpreter.<init>(Interpreter.scala:148)
    at jupyter.scala.Interp$$anon$3.<init>(Interp.scala:41)
    at jupyter.scala.Interp.<init>(Interp.scala:41)
    at jupyter.scala.JupyterScalaApp$$anon$5.apply(JupyterScala.scala:98)
    at jupyter.scala.JupyterScalaApp$$anon$5.apply(JupyterScala.scala:97)
    at jupyter.kernel.server.Server$.launch(Server.scala:80)
    at jupyter.kernel.server.Server$.apply(Server.scala:123)
    at jupyter.kernel.server.ServerApp$$anonfun$4.apply(ServerApp.scala:171)
    at jupyter.kernel.server.ServerApp$$anonfun$4.apply(ServerApp.scala:171)
    at scala.util.Try$.apply(Try.scala:192)
    at jupyter.kernel.server.ServerApp$.apply(ServerApp.scala:171)
    ... 36 more
[I 12:35:11.027 NotebookApp] KernelRestarter: restarting kernel (1/5)
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
    at jupyter.kernel.server.ServerApp$.apply(ServerApp.scala:174)
    at jupyter.scala.JupyterScalaApp.delayedEndpoint$jupyter$scala$JupyterScalaApp$1(JupyterScala.scala:93)
    at jupyter.scala.JupyterScalaApp$delayedInit$body.apply(JupyterScala.scala:13)
    at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
    at caseapp.App$$anonfun$apply$1.apply(App.scala:47)
    at caseapp.App$$anonfun$apply$1.apply(App.scala:46)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
    at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
    at caseapp.App$class.apply(App.scala:46)
    at jupyter.scala.JupyterScalaApp.apply(JupyterScala.scala:13)
    at caseapp.AppOf.main(App.scala:121)
    at jupyter.scala.JupyterScala.main(JupyterScala.scala)
    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:564)
    at coursier.cli.qJ.a(Unknown Source)
    at coursier.cli.qI.j(Unknown Source)
    at coursier.cli.qO.a(Unknown Source)
    at d.g.a.c(Unknown Source)
    at b.b.d_(Unknown Source)
    at d.b.d.E.g(Unknown Source)
    at d.b.e.aU.g(Unknown Source)
    at a.c.a(Unknown Source)
    at coursier.cli.qI.b(Unknown Source)
    at coursier.cli.O.b(Unknown Source)
    at b.I.d_(Unknown Source)
    at d.E.h(Unknown Source)
    at a.aH.a(Unknown Source)
    at coursier.cli.Coursier.main(Unknown Source)
    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:564)
    at coursier.Bootstrap.main(Bootstrap.java:412)
Caused by: java.lang.NullPointerException
    at ammonite.runtime.Classpath$.classpath(Classpath.scala:31)
    at ammonite.interp.Interpreter.init(Interpreter.scala:93)
    at ammonite.interp.Interpreter.processModule(Interpreter.scala:409)
    at ammonite.interp.Interpreter$$anonfun$10.apply(Interpreter.scala:151)
    at ammonite.interp.Interpreter$$anonfun$10.apply(Interpreter.scala:148)
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
    at ammonite.interp.Interpreter.<init>(Interpreter.scala:148)
    at jupyter.scala.Interp$$anon$3.<init>(Interp.scala:41)
    at jupyter.scala.Interp.<init>(Interp.scala:41)
    at jupyter.scala.JupyterScalaApp$$anon$5.apply(JupyterScala.scala:98)
    at jupyter.scala.JupyterScalaApp$$anon$5.apply(JupyterScala.scala:97)
    at jupyter.kernel.server.Server$.launch(Server.scala:80)
    at jupyter.kernel.server.Server$.apply(Server.scala:123)
    at jupyter.kernel.server.ServerApp$$anonfun$4.apply(ServerApp.scala:171)
    at jupyter.kernel.server.ServerApp$$anonfun$4.apply(ServerApp.scala:171)
    at scala.util.Try$.apply(Try.scala:192)
    at jupyter.kernel.server.ServerApp$.apply(ServerApp.scala:171)
    ... 36 more

内核一直无限期地重新启动。

我试着到处寻找解决办法,但似乎找不到。即使重新安装jupyter-scala内核也没有帮助。在Scala安装木星内核时,还有其他选择吗?

我是斯卡拉的新手。我该怎么办?

系统规格: MacBook,installation;木星安装是Anaconda的一部分;Java 9。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-26 16:33:25

找出了问题所在:

应该使用JDK 8而不是JDK 9。

$JAVA_HOME中设置Java8可以通过在~/.profile中添加下面一行来解决这个问题。

代码语言:javascript
复制
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

详细信息:

主网站中指出,Java8是运行Scala的必要条件。在通过Homebrew进行安装之后,Scala似乎在终端中工作得很好,即使使用了Java9。直接从未打包的双星运行Scala也同样有效。因此,我从不怀疑Java版本是问题所在。

作为最后的手段,我通过Homebrew安装了Java8(使其工作是另一个故事),结果证明这是必需的解决方案。我认为最新的Scala已经可以处理Java9,但是jupyter-scala包只能处理Java8。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49486792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档