suchen
HeimJavajavaLernprogramm„Ungültiges Byte-Tag im Konstantenpool: 15' – Warum gibt Tomcat 7 diesen Fehler aus, wenn es unter Java 8 ausgeführt wird?

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:

  1. 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.
  2. Tomcat aktualisieren: Upgrade auf Tomcat 7.0.53 oder höher, was einen aktualisierten Compiler enthält, der Java 8 besser unterstützt.
  3. 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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser

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

Dreamweaver CS6

Visuelle Webentwicklungstools