Maison > Java > javaDidacticiel > le corps du texte

Pourquoi est-ce que j'obtiens l'exception « balise d'octet non valide dans le pool constant : 15 » dans Tomcat 7 avec Java 8 ?

Linda Hamilton
Libérer: 2024-10-27 08:40:03
original
930 Les gens l'ont consulté

Why am I Getting

"Balise d'octet invalide dans le pool constant : 15" Exception dans Tomcat 7 avec Java 8

Tomcat 7 est officiellement compatible avec Java 8. Cependant, lors de la migration d'une application Web de Tomcat 7 avec Java 6 vers un autre serveur Tomcat 7 avec Java 8, les utilisateurs peuvent rencontrer l'exception suivante :

org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
Copier après la connexion

Causes possibles

Cette exception se produit en raison de problèmes BCEL (Byte Code Engineering Library) dans Tomcat 7 avec Java 8. BCEL rencontre des difficultés à traiter les nouveaux codes d'octet Java 8, en particulier lorsque l'analyse des annotations est activée (metadata-complete="true" dans web.xml ).

Solutions

Aucune analyse des annotations :

Si l'analyse des annotations n'est pas utilisée, le problème peut être résolu en mise à jour de Tomcat 7 vers la version 7.0.53 ou ultérieure, qui inclut un compilateur mis à jour avec une prise en charge améliorée de Java 8.

Analyse des annotations :

Lorsque l'analyse des annotations est activée, il y a Il existe deux alternatives :

  • Exclure les bibliothèques de problèmes :Ajoutez la ligne suivante à /etc/tomcat7/catalina.properties :
junit.jar,junit-*.jar,ant-launcher.jar,\
jfxrt.jar,nashorn.jar
Copier après la connexion

Ceci demandera à Tomcat d'ignorer l'analyse des bibliothèques indiquées.

  • Désactiver l'analyse des annotations : Supprimez "metadata-complete="true" de web.xml pour désactiver l'analyse des annotations.

Notes supplémentaires :

  • Ce problème particulier est survenu avec Tomcat 7.0.28 sur Debian 7.6 avec Oracle JDK 8_25.
  • Le "officiel réponse" que Tomcat 7 est compatible avec Java 8 reste valable. Cependant, des problèmes BCEL peuvent survenir lorsque l'analyse des annotations est activée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!