web-dev-qa-db-fra.com

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

Après avoir installé JDK9, j'obtiens cette exception lors de l'exécution de mes projets Scala. La mise à niveau Scala vers 2.12.2 n'a pas non plus résolu mon problème).

13
abshar

Le Java.xml.bind le module n'est pas résolu par défaut lors de l'exécution du code sur le chemin du module. Cela signifie que si vous dépendez de JAXB, vous devez exécuter avec --add-modules Java.xml.bind ou déployer JAXB sur le chemin de classe (ou chemin de module).

Mise à jour: la section " Modules partagés avec Java EE non résolu par défaut " du Guide de migration JDK 9 fournit plus d'informations sur ce sujet.

11
Alan Bateman

Pour ajouter à la réponse précédente, je voudrais me référer à la réponse suivante: https://stackoverflow.com/a/43574427/3751268 . Je pense qu'il couvre en détail qui est la manière souhaitée de fournir des bibliothèques comme jaxb.

En particulier pour Scala, je l'ajoute comme ceci à mon libraryDependencies:

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