Chỉ cần chạy một dự án Scala SBT mẫu sau khi cài đặt Java 9 trên máy tính của tôi và tôi đã ngoại lệ này. Tôi đã thử một số giải pháp mà tôi tìm thấy nhưng không có gì.Scala không tương thích với Java 9 - java.lang.NoClassDefFoundError
Có bất kỳ sự không tương thích nào giữa Java 9 và Scala không?
Scala Version: 2.12.3
Java Version: java phiên bản "9"
IDE: IntelliJ
Cảm ơn trước.
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)
Tôi đã thử cách này nhưng không hiệu quả.
--add mô-đun java.xml.bind hoặc --add mô-đun java.se.ee
Bản sao có thể có của [Intellij: Dự án Scala dựa trên SBT không xây dựng với Java 9] (https://stackoverflow.com/questions/46381242/intellij-sbt-based-scala-project-does-not-build- với-java-9). Sẽ rút lại phiếu bầu nếu câu hỏi được chỉnh sửa để giải thích tất cả những gì từ các giải pháp hiện tại không giúp ích gì. @pkont Vui lòng gắn thẻ tôi cho trường hợp này. Nếu không, sẽ xóa câu trả lời nếu đóng thành trùng lặp. – nullpointer