首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala与Java9- java.lang.NoClassDefFoundError不兼容

Scala与Java9- java.lang.NoClassDefFoundError不兼容
EN

Stack Overflow用户
提问于 2017-10-02 03:24:53
回答 2查看 2K关注 0票数 7

在我的pc上安装Java 9之后,只需运行一个样例Scala SBT项目,我就接受了这个例外。我已经尝试了一些解决方案,但一无所获。

Java 9和Scala之间有什么不兼容的地方吗?

Scala版本: 2.12.3

Java版本: java版本"9“

IDE: IntelliJ

提前谢谢。

代码语言:javascript
复制
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或--add-modules java.se.ee

EN

回答 2

Stack Overflow用户

发布于 2017-10-02 03:30:16

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

代码语言:javascript
复制
--add-modules java.se.ee

由于Module shared by Java EE would not be resolved by default in JDK9.

您也可以在scala-dev库中跟踪问题到Support JDK 9 ,以便进行更新。

票数 4
EN

Stack Overflow用户

发布于 2017-10-09 18:52:04

我只是删除了Java 9,直到有人给了我一些提示,编译就可以照常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46516047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档