在我的电脑上安装 Java 9 后运行一个示例 Scala SBT 项目,我就遇到了这个异常。
我已经尝试了一些找到的解决方案,但一无所获。
Java 9 和 Scala 之间是否存在不兼容的情况?
斯卡拉版本:2.12.3
Java版本:java版本“9”
集成开发环境:IntelliJ
提前致谢。
info] Compiling 7 Scala sources and 1 Java source to /Users/ermis/Projects/begining-scala/target/scala-2.12/classes...
[info] p.a.h.EnabledFilters - Enabled Filters (see <https://www.playframework.com/documentation/latest/Filters>):
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
or
--add-modules java.se.ee
尝试添加编译器选项来临时修复此问题:
--add-modules java.se.ee
自从Java EE 共享的模块在 JDK9 中默认不会被解析。 https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-F640FA9D-FB66-4D85-AD2B-D931174C09A3
您还可以跟踪问题支持JDK 9 https://github.com/scala/scala-dev/issues/139也可在 scala-dev 存储库中获取更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)