【Java】解決!NoClassDefFoundError: javax/xml/bind/JAXBExceptionの対処方法

java Java

※この記事にはプロモーションが含まれています。

JavaでバージョンをアップしたらJAXBExceptionが発生して動かなくなってしまった。

java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

という場合、このエラーの原因はJavaのバージョンを9以降にアップしたことによることが原因の事が多いです。

Javaバージョン9からJAXBExceptionというライブラリが標準ライブラリから除外されたため、そんなものないよー、とエラーになってしまいます。

なので解決するには自分でライブラリを入れる必要があります。

Maven
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
Gradle
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'

ライブラリを明示的に入れてあげることで、エラーを回避することができると思います。

コメント

タイトルとURLをコピーしました