web-dev-qa-db-ja.com

java.lang.NoClassDefFoundError:javax / xml / bind / DatatypeConverter

JDK9をインストールした後、Scalaプロジェクトを実行すると、この例外が発生します。Scalaを2.12.2にアップグレードしても、問題は解決しませんでした。

13
abshar

モジュールパスでコードを実行する場合、Java.xml.bindモジュールはデフォルトでは解決されません。つまり、JAXBに依存している場合は、--add-modules Java.xml.bindで実行するか、クラスパス(またはモジュールパス)にJAXBをデプロイする必要があります。

更新:このトピックの詳細については、「JDK 9移行ガイド」の「 Java EEはデフォルトで解決されない)で共有されるモジュール 」セクションで詳細を説明しています。

11
Alan Bateman

前の回答に追加するには、次の回答を参照したいと思います: https://stackoverflow.com/a/43574427/3751268jaxbのようなライブラリを提供するための望ましい方法を詳しくカバーしていると思います。

特にScalaの場合、次のようにlibraryDependenciesに追加します。

libraryDependencies += Seq("javax.xml.bind" % "jaxb-api" % "2.3.0")
0
aitorhh