java.lang.ClassNotFoundException: Correspondance avec javax.xml.bind.JAXBException

Mettre à jour vers Java 9

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) ~[na:na]
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185) ~[na:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[na:na]

Quand cela arrive, ajoutons jaxb-api à la dépendance. Avec gradle

compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'

Avec Maven

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

La dernière version à ce moment-là est recommandée.

Raison

À partir de Java 9, [certaines classes J2EE ne sont plus visibles depuis le JDK par défaut](https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-F640FA9D-FB66-4D85 -AD2B-D931174C09A3) en est la cause.

Les options de démarrage Java peuvent également être utilisées, mais compte tenu de l'avenir, il est préférable de décrire les dépendances dans le système de construction.

Recommended Posts

java.lang.ClassNotFoundException: Correspondance avec javax.xml.bind.JAXBException