【问题标题】:Scalatra throwing null pointer exception with java 8Scalatra用java 8抛出空指针异常
【发布时间】:2016-05-12 22:39:29
【问题描述】:

我正在使用 Scala 版本 2.9.0 和 Scalatra 版本 2.1.0-SNAPSHOT 运行 Web 应用程序。我使用 Java 1.6 构建应用程序。当我使用 Java 1.7 运行它时它运行良好,但使用 Java 1.8 运行时出现此错误时失败。可能是什么问题?

使用 java 1.8 运行对我来说很重要,因为我的应用程序中使用了一些符合 java 1.8 的第三方 jar。我有其他 scala 应用程序,我使用 java 1.6 构建并使用 java 1.8 运行良好,但我只遇到使用 scalatra 的应用程序的这个问题。

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.fusesource.scalate.TemplateException
    org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:834)
    org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:691)
    org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:411)
    org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:405)
    org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:475)
    org.scalatra.scalate.ScalateSupport$class.renderScalateErrorPage(ScalateSupport.scala:140)
    org.scalatra.scalate.ScalateSupport$class.handle(ScalateSupport.scala:131)

root cause

java.lang.NullPointerException
    scala.tools.nsc.Global$Run.compileLate(Global.scala:1043)
    scala.tools.nsc.symtab.SymbolLoaders$SourcefileLoader.doComplete(SymbolLoaders.scala:303)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:111)
    scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:85)
    scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:732)

【问题讨论】:

  • 你为什么使用 scala 2.9?太老了。

标签: scala scala-collections scalatra


【解决方案1】:

Scala 2.9 的发行说明列出了它的依赖项:“它需要 Java 运行时版本 1.6 或 1.7。” Scala 2.11.1 宣布支持 Java 8,但称其为“实验性”。实验性形容词已从 Scala 2.11.2 的发行说明中删除,但我在使用更高版本 Scala(可能是 2.11.7)的项目中遇到了 Java 8 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 2020-08-10
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多