加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 18:37:20 所属栏目:安全 来源:网络整理
导读:在我的电脑上安装 Java 9之后运行一个示例Scala SBT项目,我接受了这个例外. 我已经尝试了一些我发现的解决方案,但没有. Java 9和Scala之间是否存在任何不兼容性? Scala版本:2.12.3 Java版本:java版“9” IDE:IntelliJ 提前致谢. info] Compiling 7 Scala
在我的电脑上安装 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] 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
要么
–add-modules java.se.ee

enter image description here

解决方法

尝试添加编译器选项以暂时解决此问题:

--add-modules java.se.ee

自Module shared by Java EE would not be resolved by default in JDK9.以来

您还可以在scala-dev存储库中跟踪问题到Support JDK 9 以获取更新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读