Scala与Java 9不兼容 – java.lang.NoClassDefFoundError

在我的电脑上安装Java 9后运行一个示例Scala SBT项目,我就接受了这个例外。 我已经尝试了一些我发现的解决方案,但没有。

Java 9和Scala之间是否存在任何不兼容性?

Scala版本:2.12.3

Java版本:java版本“9”

IDE:IntelliJ

提前致谢。

info] Compiling 7 Scala sources and 1 Java source to /Users/ermis/Projects/begining-scala/target/scala-2.12/classes... [info] pahEnabledFilters - Enabled Filters (see ): play.filters.csrf.CSRFFilter play.filters.headers.SecurityHeadersFilter play.filters.hosts.AllowedHostsFilter [info] play.api.Play - Application started (Dev) Uncaught error from thread [play-dev-mode-akka.actor.default- dispatcher-2]: javax/xml/bind/DatatypeConverter, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for for ActorSystem[play-dev-mode] java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26) at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:106) at play.api.mvc.JWTCookieDataCodec$JWTFormatter.format(Cookie.scala:710) at play.api.mvc.JWTCookieDataCodec.encode(Cookie.scala:569) at play.api.mvc.JWTCookieDataCodec.encode$(Cookie.scala:567) at play.api.mvc.DefaultJWTCookieDataCodec.encode(Cookie.scala:760) at play.api.mvc.FallbackCookieDataCodec.encode(Cookie.scala:734) at play.api.mvc.FallbackCookieDataCodec.encode$(Cookie.scala:733) at play.api.mvc.DefaultSessionCookieBaker.encode(Session.scala:95) at play.api.mvc.CookieBaker.encodeAsCookie(Cookie.scala:414) at play.api.mvc.CookieBaker.encodeAsCookie$(Cookie.scala:413) at play.api.mvc.DefaultSessionCookieBaker.encodeAsCookie(Session.scala:95) at play.api.mvc.Result.$anonfun$bakeCookies$2(Results.scala:281) at scala.Option.map(Option.scala:146) at play.api.mvc.Result.bakeCookies(Results.scala:280) at play.core.server.common.ServerResultUtils.prepareCookies(ServerResultUtils.scala:227) at play.core.server.AkkaHttpServer.$anonfun$executeAction$3(AkkaHttpServer.scala:302) at akka.http.scaladsl.util.FastFuture$.strictTransform$1(FastFuture.scala:41) at akka.http.scaladsl.util.FastFuture$.transformWith$extension1(FastFuture.scala:55) at akka.http.scaladsl.util.FastFuture$.flatMap$extension(FastFuture.scala:26) at play.core.server.AkkaHttpServer.executeAction(AkkaHttpServer.scala:301) at play.core.server.AkkaHttpServer.executeHandler(AkkaHttpServer.scala:254) 

我尝试了这个,但没有奏效。

–add-modules java.xml.bind或–add-modules java.se.ee 在此处输入图像描述

尝试添加编译器选项以临时修复此问题:

 --add-modules java.se.ee 

因为在JDK9中默认情况下不会解析Java EE共享的模块。

您还可以在scala-dev存储库中跟踪问题以支持JDK 9以获取更新。

我只是删除Java 9,直到有人给我一些灯光,编译工作正常。