Tomcat 7 Java 8: Ungültiges Byte-Tag im konstanten Pool: 15

Tomcat 7 + Java 8: Ungültiges Byte-Tag im konstanten Pool: 15

Gerade auf Java 8 aktualisiert, und der Tomcat 7 fordert weiterhin die folgenden Ausnahmen auf:

Jul 20, 2015 4:06:36 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [jdk/nashorn/internal/objects/NativeURIError.class] from Jar [jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext/nashorn.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
    at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131)
    at org.apache.tomcat.util.bcel.classfile.ConstantPool.(ConstantPool.java:60)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2066)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1942)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1908)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1893)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1296)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:346)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Geprüft :

  1. Tomcat 7.0.29

  2. Java 1.8.0_45

  3. Spring 4 MVC-Webanwendung

Zuvor funktionierte es einwandfrei unter Java 1.7.0_05

Lösung

Sie sind sich nicht sicher, was der Grund ist, um das Problem zu beheben. Aktualisieren Sie Tomcat einfach auf die neueste Version, z. B. Tomcat 7.0.65.

Mit Erfolg getestet:

  1. Tomcat 7.0.65

  2. Java 1.8.0_45

  3. Spring 4 MVC-Webanwendung