今天,在启动Tomcat服务器的时候,突然发现不能load已经存在的Servlet类,而且提示java.lang.UnsupportedClassVersionError: Bad version number in .class file ,JDK版本号不支持问题,抛出异常,详细异常信息如下所示:
2009-8-3 12:35:54 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.16.
2009-8-3 12:35:54 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2009-8-3 12:35:55 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2009-8-3 12:35:55 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2009-8-3 12:35:55 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 949 ms
2009-8-3 12:35:55 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-8-3 12:35:55 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
2009-8-3 12:35:56 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2009-8-3 12:35:56 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2009-8-3 12:35:56 org.apache.tomcat.util.modeler.Registry registerComponent
严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/filter,J2EEApplication=none,J2EEServer=none
2009-8-3 12:35:56 org.apache.catalina.startup.HostConfig deployDirectory
严重: Error deploying web application directory filter
java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class org.shirdrn.action.FilterAction)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1854)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1068)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4339)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-8-3 12:35:56 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2009-8-3 12:35:56 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2009-8-3 12:35:56 org.apache.catalina.startup.Catalina start
信息: Server startup in 1318 ms
因为原来一直是在MyEclipse 6.5上开发,昨天我重新安装了MyEclipse 7.1,在MyEclipse 7.1上。我猜想可能是MyEclipse 7.1版本比较新的原因,但是版本新导致不能加载Servlet这种可能不是很大,如果连加载类都成问题,那可不是一款优秀的IDE,起初我还是试着按照这种猜测去尝试,将在MyEclipse 6.5下最原始的备份重新导入MyEclipse 7.1,结果问题依然。
其实,异常已经显示了,WEB服务器启动的过程中抛出异常,也就说,可能的原因是某些对于WEB服务器直观重要的配置使其不能正常启动,最能想到的就是——Java虚拟机。因为异常java.lang.UnsupportedClassVersionError: Bad version number in .class file,可能是由于当前JDK版本不匹配造成的问题。
已经找到问题的根源,一步定位到Tomcat JDK的配置上去,能够解决问题的可能性最大。
下面是解决方法:
在MyEclipse 7.1中打开Preferences,定位到Servers服务器配置选项卡,如图所示:
一般MyEclipse 7.1默认的Tomcat JDK name是其自带的JDK 1.5,只需要添加一个当前在使用的版本的JDK,比如我的是JDK 1.6,然后再启动WEB服务器Tomcat,请求指定的Servlet,就能够成功加载Servlet类了。
分享到:
相关推荐
信息: Deploying web application directory lx01 2010-11-11 22:52:05 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deploying web application directory blog 2010-11-11 22:52:06 org.apache....
记一次Tomcat卡死在 Deploying web application 步骤的问题.doc
{"time":"2017-09-06 10:24:48,356","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\docs"} {"time":"2017-09-...
该文档给出了tomcat的安装及环境配置及在环境配置中出现的常见问题的解答
This resource provides detailed guidance on how to design and deploy directory services, including upgrading and restructuring domains, as well as designing and deploying directory services, and more.
注意:如果在使用Tomcat时出现了Error deploying web application directory web222,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【换成JDK7】 目录的简单介绍 bin:启动...
生产环境 Tomcat启动时卡在“INFO Deploying web application directory ......” 的解决办法
Understanding and Deploying LDAP Directory Services
Deploying with JRuby: Deliver Scalable Web Apps using the JVM
Deploying an application using Docker and Kubernetes
Tomcat是目前比较流行的Web 应用服务器。 有两个办法可以在系统...这种context片断提供了一种便利的方法来部署web应用,不需要编辑server.xml,除非想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
Tomcat: The Definitive Guide is a valuable reference for administrators and webmasters, a useful guide for programmers who want to use Tomcat as their web application server during development or in ...
陈慧南老师的《算法设计与分析》课后习题答案,自己利用的好相信会对大家的学习有很大的帮助,纯粹为了抄答案的话,我还是建议你不要下了,否则我会感到愧疚的! 呵呵
Deploying Java Web Start Applications on the JBoss Application Server
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
Apache Tomcat version 8.0 implements the Servlet 3.1 and JavaServer Pages 2.3 specifications from the Java Community Process, and includes many additional features that make it a useful platform for ...
Beginning iOS Programming: Building and Deploying iOS Applications starts at the beginning—including an introduction to Objective C—and gives you the skills you need to get your apps up and running...
ASP.NET Core: Cloud-ready, Enterprise Web Application Development by Mugilan T. S. Ragupathi English | 9 Jun. 2017 | ASIN: B072KDVHCS | 1414 Pages | AZW3 | 36.34 MB Create fast, scalable, and high-...
Current books on Tomcat are primarily focused on the application deployer or administrator. As a result, they invariably focus on the issues related to managing a Tomcat installation, configuring the ...
Networkers2009:BRKAPP-2005 - Deploying Wide Area Application Services