Maison >Java >javaDidacticiel >Le code Java 1.4 peut-il être compilé sur Java 5 sans reconstruire les stubs ?

Le code Java 1.4 peut-il être compilé sur Java 5 sans reconstruire les stubs ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-21 06:10:10895parcourir

Can Java 1.4 Code Compile on Java 5 Without Rebuilding Stubs?

Restriction d'accès à la bibliothèque requise rt.jar : le code Java 1.4 peut-il être compilé sur Java 5 sans recréer des stubs ?

Lors d'une tentative de compilation Code Java 1.4 généré par WSDL2Java d'IBM sur Java 5 sans recréer les stubs, une erreur de restriction d'accès peut se produire dans Eclipse. L'erreur « Restriction d'accès : le type QName n'est pas accessible en raison d'une restriction sur la bibliothèque requise rt.jar » indique que l'accès à la bibliothèque requise (rt.jar) est restreint.

Ce problème se produit car les stubs Le code généré pour Java 1.4 peut utiliser des classes du runtime Java 1.4, qui est différent du runtime utilisé par Java 5. La bibliothèque rt.jar incluse avec Java 5 peut ne pas contenir les classes nécessaires pour que le code généré compilez avec succès.

Solution alternative pour recréer les talons

Il existe une solution alternative à ce problème sans qu'il soit nécessaire de recréer les talons. Les étapes sont les suivantes :

  1. Ouvrez les propriétés du projet et accédez à "Build Path".
  2. Supprimez la "Bibliothèque système JRE".
  3. Ajoutez le " JRE System Library" en la sélectionnant dans les options "Ajouter une bibliothèque".

Cette solution fonctionne car plusieurs classes de différents fichiers jar peuvent être présentes dans le projet. La suppression et le rajout de la bibliothèque système JRE garantissent que les classes appropriées sont priorisées.

Assurer la solution fondamentale

Pour une solution plus fondamentale, assurez-vous que les fichiers jar contenant les mêmes classes sont exclues du projet. Cela évitera les conflits entre les classes de différentes sources, garantissant que les classes requises de la bibliothèque système JRE sont utilisées.

Exemple :

Dans le cas où javax.xml .soap.SOAPPart est présent dans trois fichiers jar (axis-saaj-1.4.jar, saaj-api-1.3.jar et rt.jar), à l'exclusion du les deux premiers fichiers jar garantiront que la classe SOAPPart de la bibliothèque système JRE est utilisée, résolvant ainsi l'erreur de restriction d'accès.

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