2017-10-01 9 views
5

Java 9を自分のPCにインストールした後で、サンプルのScala SBTプロジェクトを実行するだけで、この例外が発生しました。 私はすでに見つけたものの、何も解決策を試していません。Java 9とのScalaの非互換性 - java.lang.NoClassDefFoundError

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.se.ee 

--add-モジュールは または --add-モジュールは、一時的にこの問題を解決するためのコンパイラオプションを追加すること enter image description here

+0

[Intellij:SBTベースのScalaプロジェクトはJava 9でビルドできません](https://stackoverflow.com/questions/46381242/intellij-sbt-based-scala-project-does-not-build- with-java-9)を使用します。現在のソリューションのすべてが何を助けなかったのかを説明するために質問が編集された場合は、投票を取り消すでしょう。 @pkontこのような場合は、私にタグを付けてください。それ以外の場合は、重複して閉じると回答を削除します。 – nullpointer

答えて

4

てみてくださいjava.se.ee java.xml.bind Module shared by Java EE would not be resolved by default in JDK9.

Support JDK 9に更新のためのscala-devリポジトリでも問題を追跡することができます。

+0

私は両方を試しましたが、うまくいきませんでした。 --add-modules java.xml.bind --add-modules java.se.ee – pik4

+0

@pkont個別に '--add-modules java.se.ee'を試しましたか?あなたはまだ何の誤りを覚えましたか? – nullpointer

+0

前の例と同じです – pik4

0

誰かが私にライトを与え、コンパイルがいつものように動作するまで、Java 9を削除します。