我试着用木星笔记本来学习Scala。我用国产软件安装了Scala。
brew install scalaScala似乎在命令行中工作得很好。按照jupyter-scala中给出的指令执行本站之后,我用Scala内核启动了朱庇特笔记本。弹出以下错误。
[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。
发布于 2018-03-26 16:33:25
找出了问题所在:
应该使用JDK 8而不是JDK 9。
在$JAVA_HOME中设置Java8可以通过在~/.profile中添加下面一行来解决这个问题。
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`详细信息:
主网站中指出,Java8是运行Scala的必要条件。在通过Homebrew进行安装之后,Scala似乎在终端中工作得很好,即使使用了Java9。直接从未打包的双星运行Scala也同样有效。因此,我从不怀疑Java版本是问题所在。
作为最后的手段,我通过Homebrew安装了Java8(使其工作是另一个故事),结果证明这是必需的解决方案。我认为最新的Scala已经可以处理Java9,但是jupyter-scala包只能处理Java8。
https://stackoverflow.com/questions/49486792
复制相似问题