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'
ライブラリを明示的に入れてあげることで、エラーを回避することができると思います。
コメント