Maison >Java >javaDidacticiel >Pourquoi Eclipse ne peut-il pas charger les classes XML après la migration du JDK 10 ?

Pourquoi Eclipse ne peut-il pas charger les classes XML après la migration du JDK 10 ?

DDD
DDDoriginal
2024-11-30 12:42:12380parcourir

Why Can't Eclipse Load XML Classes After JDK 10 Migration?

Eclipse ne parvient pas à charger les classes XML après le passage au JDK 10

Lors de la migration d'un projet Maven vers le JDK 10, les développeurs Eclipse peuvent rencontrer un problème où les classes liées à XML deviennent inaccessibles lors de la compilation. Cette erreur ne se produit que dans l'environnement de construction Eclipse, tandis que les builds Maven et la navigation dans les classes individuelles ne sont pas affectées.

Cause :

La source de ce problème réside dans le module sans nom utilisé par le projet, qui manque de module-info.java. Cela implique que le code est compilé dans le module sans nom, qui lit les modules observables nommés et sans nom, y compris java.xml. Cependant, le chemin de classe contient également xml-apis.java, contribuant à des packages conflictuels portant les mêmes noms.

Résolution :

Pour résoudre ce problème, deux options sont disponibles :

1. Créez un fichier module-info.java :

Ajoutez un fichier module-info.java à votre projet et précisez quels modules sont requis :

requires ...*;

Remplacez ... par soit java.xml, soit xml.apis.

2. Limiter les modules observables dans Eclipse :

Dans Eclipse, accédez à Java Build Path > Bibliothèques > Classpath et ouvrez la boîte de dialogue « Détails de la modularité ». Excluez java.xml de l'ensemble des modules observables en le déplaçant de la section « Modules explicitement inclus » vers la section « Modules disponibles ». Tous les modules essentiels à votre projet peuvent être rajoutés de manière sélective.

Informations supplémentaires :

  • Eclipse fournit désormais un message d'erreur plus précis : "Le package javax. xml.xpath est accessible depuis plusieurs modules."
  • Le comportement du compilateur lors du changement de l'ordre des fichiers JRE et JAR sur le classpath reste énigmatique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn