Maison  >  Article  >  Java  >  Voici quelques options de titre, en gardant à l’esprit le format de questions et réponses : Court et précis : * ClassFormatException : balise d'octet invalide dans le pool constant - Pourquoi et comment y remédier ? * Tomcat 7 et

Voici quelques options de titre, en gardant à l’esprit le format de questions et réponses : Court et précis : * ClassFormatException : balise d'octet invalide dans le pool constant - Pourquoi et comment y remédier ? * Tomcat 7 et

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 07:46:31548parcourir

Here are a few title options, keeping in mind the question-and-answer format:

Short and to the point:

* ClassFormatException: Invalid Byte Tag in Constant Pool - Why and How to Fix it?
* Tomcat 7 and Java 8: ClassFormatException - How to Resolve?

More

ClassFormatException : balise d'octet non valide dans le pool constant

Arrière-plan :

Pendant le portage d'un site Web application de Tomcat 7 vers un autre serveur avec la même version de Tomcat mais utilisant Java 8, il a été observé que Tomcat démarrait avec succès mais produisait une erreur dans le journal catalina.out :

org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15

Cause :

L'erreur provient d'un problème avec la Bytecode Engineering Library (BCEL), utilisée par Tomcat, rencontrant des difficultés pour traiter les nouveaux codes Java 8 octets.

Solution 1 : Désactiver Analyse des annotations

Si l'analyse des annotations est activée dans web.xml (metadata-complete="true"), sa désactivation permet à l'application de s'exécuter sans rencontrer l'erreur.

Solution 2 : Mise à jour vers Tomcat 7.0.53 ou version ultérieure

À partir de Tomcat 7.0.53, le compilateur a été mis à jour avec une prise en charge améliorée de Java 8. Cette mise à jour résout le problème pour les applications utilisant l'analyse des annotations et du code non Java 8.

Solution 3 : ignorer certains fichiers Jar

Pour les situations où l'analyse des annotations est requise et l'application utilise du code Java 8, ajoutez la ligne suivante à catalina.properties :

junit.jar,junit-*.jar,ant-launcher.jar,\
jfxrt.jar,nashorn.jar

pour ignorer ces fichiers Jar lors de l'analyse des annotations.

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