今天,在启动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类了。
分享到:
相关推荐
这个过程由Apache Tomcat服务器执行,一个流行的Java Servlet容器。然而,部署过程中遇到了问题,特别是与`blog`应用程序相关的错误。 错误发生在尝试配置应用程序监听器时,监听器类为`org.springframework.web....
在生产环境中部署web应用程序时,Tomcat卡死在Deploying web application步骤的问题是一个常见的问题。这个问题可能是由于多种原因引起的,包括但不限于securerandom.source[file:/dev/./urandom]没有指定、数据库...
### Tomcat环境配置详解及问题处理 #### 一、Tomcat简介 Apache Tomcat是一款开源的Servlet容器,它能够提供对Servlet和JavaServer Pages技术的支持,并且可以作为HTTP Web服务器来使用。通常用于开发和部署Web...
{"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-...
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”的情况,这通常意味着Tomcat在部署Web应用的过程中遇到了某些瓶颈或问题,导致启动过程变得异常缓慢。...
Deploying an application using Docker and Kubernetes
为了充分利用Java Web Start提供的“版本控制”和“增量更新”等功能,我们需要一个支持Servlet或CGI脚本的Web服务器。本文将以JBoss 3.2.3应用服务器为例进行说明,该服务器内嵌了Apache Tomcat Web容器。 #### ...
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 with JRuby: Deliver Scalable Web Apps using the JVM
Tomcat是目前比较流行的Web 应用服务器。 有两个办法可以在系统...这种context片断提供了一种便利的方法来部署web应用,不需要编辑server.xml,除非想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
解答这些习题不仅有助于巩固理论知识,还能锻炼解决问题的能力,这对于计算机科学的学习者来说是极其宝贵的。 然而,仅仅依赖习题答案而不进行深入思考和自我实践,可能无法真正掌握这些知识。因此,尽管陈慧南老师...
《理解与部署LDAP目录服务》是一本专注于介绍 Lightweight Directory Access Protocol (LDAP) 的技术书籍,旨在帮助读者深入理解和有效实施LDAP目录服务。LDAP是互联网上广泛使用的标准协议,用于访问和管理分布式...
3. 部署Servlet和JSP Web应用到Tomcat(第3章:Deploying Servlet and JSP Web Applications in Tomcat): - 讲解了Web应用的目录结构和部署方法,包括部署未打包的Web应用目录和WAR文件。 - 介绍了热部署(Hot ...
- **安装**:将Admin Web Application部署到Tomcat中,可以实现对Tomcat的远程管理和监控。 - **配置**:修改`CATALINA_BASE/webapps/admin.xml`文件来定义上下文参数,例如数据库连接、用户组等。 - **访问**:通过...
本篇文章将根据提供的文件信息,深入解析“Deploying .NET Application LifeCycle Guides”中提到的关键知识点,特别是关于.NET应用程序如何从开发计算机部署到测试环境,以及如何进一步部署到预发布服务器作为发布...
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...