Maison > Java > javaDidacticiel > Comment corriger « Exception de balise d'octet non valide » dans Tomcat 7 lors de la mise à niveau vers Java 8 ?

Comment corriger « Exception de balise d'octet non valide » dans Tomcat 7 lors de la mise à niveau vers Java 8 ?

DDD
Libérer: 2024-10-28 15:26:02
original
910 Les gens l'ont consulté

 How to Fix

Exception de balise d'octet non valide dans Tomcat 7 avec Java 8

Lors du portage d'une application Web de Tomcat 7 et Java 7 vers un autre serveur exécutant Tomcat 7 et Java 8, une erreur peut survenir au démarrage :

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

Cette exception provient de BCEL, la bibliothèque d'ingénierie de bytecode Java utilisée par Tomcat. En particulier, l'analyse des annotations (avec metadata-complete="true" dans web.xml) peut déclencher des problèmes en raison de l'incapacité de BCEL à traiter certains codes Java 8 octets.

Solutions :

1. Désactiver l'analyse des annotations :

Si l'analyse des annotations n'est pas essentielle, elle peut être désactivée en définissant metadata-complete="false" dans web.xml.

2. Tomcat 7.0.53 ou version ultérieure :

Tomcat 7.0.53 et versions ultérieures incluent un compilateur mis à jour avec une prise en charge améliorée de Java 8. La mise à niveau vers ces versions devrait résoudre l'exception.

3. Ignorer les fichiers JAR Java 8 pour l'analyse des annotations (avancé) :

Si l'analyse des annotations est requise et que l'application Web n'est pas basée sur Java 8, ajoutez la ligne suivante à /etc/tomcat7/catalina.properties :

junit.jar,junit-*.jar,ant-launcher.jar,\jfxrt.jar,nashorn.jar
Copier après la connexion

Cette ligne demande à Tomcat d'ignorer les JAR Java 8 spécifiques 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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal