2017-10-01 27 views
5

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 enter image description here

+0

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

Trả lời

4

Hãy thử thêm một tùy chọn biên dịch để tạm thời khắc phục điều này:

--add-modules java.se.ee 

kể từ Module shared by Java EE would not be resolved by default in JDK9.

Bạn cũng có thể theo dõi vấn đề này ở Support JDK 9 tại kho lưu trữ scala-dev để cập nhật.

+0

Tôi đã thử cả hai nhưng không hoạt động. --add-modules java.xml.bind --add-modules java.se.ee – pik4

+0

@pkont Bạn đã thử '--add-modules java.se.ee' riêng lẻ chưa? Bạn vẫn gặp lỗi gì? – nullpointer

+0

giống như trường hợp trước – pik4

0

Tôi chỉ cần gỡ bỏ Java 9 cho đến khi ai đó đưa cho tôi một số đèn và trình biên dịch hoạt động như bình thường.

Các vấn đề liên quan