


Ungültiges Byte-Tag im Konstantenpool: Ein Tomcat-Problem mit Java 8
Es tritt der Fehler „Ungültiges Byte-Tag im Konstantenpool: 15“ auf beim Versuch, eine Webanwendung von Tomcat 7 auf einen anderen Server zu portieren, auf dem Tomcat 7 mit Java 8 ausgeführt wird? Dieser Artikel befasst sich mit dem Problem und bietet Lösungen.
Problembeschreibung:
Beim Starten von Tomcat kann die Anwendung auf einen Fehler stoßen, wie im Protokoll catalina.out zu sehen ist:
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
Mögliche Ursache:
Der Fehler tritt auf, weil Java 8 neue Bytecodes einführt, die BCEL, die von Tomcat 7 verwendete Klassenanalysebibliothek, möglicherweise nicht enthält in der Lage, effektiv zu verarbeiten.
Lösung:
Offizielle Lösung:
Laut Tomcat-Dokumentation wird Tomcat 7 auf Java ausgeführt 8 sollte einwandfrei funktionieren.
Problem beim Scannen von Anmerkungen:
Wenn jedoch das Scannen von Anmerkungen in der web.xml-Datei der Webanwendung aktiviert ist, können aufgrund der Unfähigkeit von BCEL Probleme auftreten um Java 8-Byte-Codes zu verarbeiten. In solchen Fällen können Ausnahmen wie die folgende auftreten:
SEVERE: Unable to process Jar entry [jdk/nashorn/internal/objects/NativeString.class] from Jar [jar:file:/usr/lib/jvm/jdk1.8.0_5/jre/lib/ext/nashorn.jar!/] for annotations org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
Lösungen für das Scannen von Anmerkungen:
- Scannen von Anmerkungen deaktivieren: Vermeiden Sie die Aktivierung des Annotationsscans (setzen Sie metadata-complete="true" in web.xml auf false). Dadurch kann Tomcat 7 normal funktionieren. Diese Lösung deaktiviert jedoch das Scannen von Anmerkungen in der Webanwendung.
- Tomcat aktualisieren: Upgrade auf Tomcat 7.0.53 oder höher, was einen aktualisierten Compiler enthält, der Java 8 besser unterstützt.
- Problematische Jars ausschließen: Wenn Annotations-Scanning verwendet werden muss und Ihr Code nicht auf Java 8 basiert, fügen Sie die folgende Zeile zu /etc/tomcat7/catalina.properties hinzu:
junit.jar,junit-*.jar,ant-launcher.jar,\ jfxrt.jar,nashorn.jar
Diese Änderung stellt sicher, dass Tomcat problematische Gläser beim Scannen von Annotationen überspringt.
Das obige ist der detaillierte Inhalt von„Ungültiges Byte-Tag im Konstantenpool: 15' – Warum gibt Tomcat 7 diesen Fehler aus, wenn es unter Java 8 ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Dreamweaver CS6
Visuelle Webentwicklungstools