【问题标题】:tomcat failing to starttomcat启动失败
【发布时间】:2015-08-24 03:23:53
【问题描述】:

日志文件显示以下错误

2015 年 6 月 9 日上午 10:37:54 org.apache.catalina.core.AprLifecycleListener 初始化 信息:在 java.library.path:/usr/j 上找不到允许在生产环境中获得最佳性能的基于 APR 的 Apache Tomcat Native 库 ava/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib :/usr/lib 2015 年 6 月 9 日上午 10:37:55 org.apache.tomcat.util.digester.Digester startElement 严重:开始事件抛出错误 java.lang.UnsupportedClassVersionError:com/progress/cloudservices/realm/JDBCCacheRealm:不支持的major.minor版本52.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:800) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 在 java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144) 在 org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) 在 com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 在 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 在 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) 在 org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) 在 org.apache.catalina.startup.Catalina.load(Catalina.java:601) 在 org.apache.catalina.startup.Catalina.load(Catalina.java:649) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)

有什么办法可以改正吗?我在 unix 中运行 tomcat

当前java版本是

java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

【问题讨论】:

标签: unix tomcat


【解决方案1】:

com.progress.cloudservices.realm.JDBCCacheRealm 类是使用 Java 8 编译的。这可以通过查看消息 major.minor version 52.0 看出

看看http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

在那里你可以阅读:

根据 JVM 规范,Java SE 8 的类文件版本为 52.0。 Java SE 8 编译器生成的 52.0 版类文件不能在 Java SE 的早期版本中使用。

您使用的是 Java 7,它不支持使用 Java 8 编译的类。尝试使用 Java 8 运行 tomcat。

【讨论】:

    猜你喜欢
    • 2017-12-08
    • 2016-06-20
    • 1970-01-01
    • 2014-04-09
    • 2018-06-17
    • 2023-03-05
    • 2017-03-21
    • 2014-06-03
    相关资源
    最近更新 更多