Maison >Java >javaDidacticiel >Pourquoi javax.xml.namespace.QName est-il inaccessible lors de la compilation du code Java 1.4 dans Java 5 ?
Accessibilité des classes restreinte en raison d'une restriction de la bibliothèque rt.jar
Vous rencontrez une erreur lors de la compilation du code Java 1.4 dans Java 5 à l'aide d'Eclipse. Le message d'erreur indique que le type javax.xml.namespace.QName est inaccessible en raison de restrictions sur la bibliothèque rt.jar. Ce problème survient souvent lorsque vous travaillez avec des stubs générés par l'outil WSDL2Java d'IBM.
Cause première
L'erreur se produit car la bibliothèque rt.jar de votre environnement d'exécution Java 5 contient une version conflictuelle de la classe javax.xml.namespace.QName qui est différente de la version utilisée dans les stubs générés. Cette incompatibilité de version entraîne des restrictions d'accès.
Solution
Au lieu de recréer les stubs, vous pouvez essayer la solution suivante :
Raison
La suppression et le rajout de la bibliothèque système JRE garantissent que la version correcte de javax.xml.namespace .QName est chargé en premier. Par défaut, Eclipse peut charger la version en conflit à partir de la bibliothèque rt.jar, provoquant une restriction d'accès.
Remarque
Si vous rencontrez des conflits similaires avec d'autres classes, vous peut exclure de votre chemin de construction des fichiers JAR spécifiques contenant des versions en conflit. Cela garantit que les versions souhaitées sont chargées en premier.
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!