`
hwfly
  • 浏览: 27849 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Bad version number in .class file引发的问题

    博客分类:
  • java
 
阅读更多
上午学习了下flex的基础知识。下午就开始搭建项目环境。
svn没有权限,只有用优盘拷贝项目文件了。拷贝,导入工程,用了我快半个小时。
自此开始了我下午的惨痛经历。
导入项目到myeclipse,拷贝的工程。很多红叉叉,几分钟搞定之后。发布到tomcat—》启动
各种debug弹出来。

Resume N次过后。启动完毕。
Ie中访问工程,登录框出来了。输入用户名密码,点击登录。出现如下问题
 [05-21 18:07:56.296 INFO  SystemProperties.<init>():30] Loaded file:/D:/work%20pro/apache-tomcat-5.5.20/webapps/TINMS/WEB-INF/classes/metar-security.properties
[05-21 18:07:56.531 ERROR DispatchAction.dispatchMethod():297] Dispatch[/login] to method 'login' returned an exception
java.lang.reflect.InvocationTargetException
	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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
	at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:869)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at com.metarnet.security.manager.UserManager.getOnlineUserIDList(UserManager.java:533)
	at com.qtby.tinms.login.service.LoginManager.CheckUser(LoginManager.java:54)
	at com.qtby.tinms.login.action.LoginAction.login(LoginAction.java:123)
	... 31 more
[05-21 18:07:56.546 WARN  RequestProcessor.processException():516] Unhandled Exception thrown: class javax.servlet.ServletException
[05-21 18:07:56.546 ERROR StandardWrapperValve.invoke():253] Servlet.service() for servlet action threw exception
java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:869)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at com.metarnet.security.manager.UserManager.getOnlineUserIDList(UserManager.java:533)
	at com.qtby.tinms.login.service.LoginManager.CheckUser(LoginManager.java:54)
	at com.qtby.tinms.login.action.LoginAction.login(LoginAction.java:123)
	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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
	at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)


java.lang.UnsupportedClassVersionError: Bad version number in .class file

错误的jdk版本。
好了,想办法解决把。我的jdk是1.6的而Compiler Compliance level默认是5.0
进到当前工程的属性后,选择"Java Compiler"进去后将"Compiler Compliance level"改成当前jdk的版本
确定,开始rebuilding。



此过程大概需要10分钟。(当中开了一个Flash Builder机器慢的快马赛克了,果断关掉还是用了10分钟,很郁闷)
然后,再启动tomcat。



到这就没了。这不比没改版本之前更糟吗!?果断,删除tomcat 的work,删除webapps下的工程。重新发布(发布也得10分钟),问题依然如此。
好吧,删除工程,重复以上操作一次。结果还是这样。
从svn上下载工程,再重复以上操作一次。还是这样。
继续百度,无意间看到了http://sucre.blog.51cto.com/1084905/353608
原来我的tomcat默认的一直都是myeclipse的jre包。而不是自己配置的jdk1.6



选上jdk1.6.重启,一切正常。
这个问题卡了我一下午。
总结:项目jdk版本与以下三个地方决定
1.Window ->Preferences ->Java ->compiler中的compiler compliance level对应的下拉菜单中选择JDK6.0版本(之前是5.0)
2.Window -> Preferences ->Java ->Installed JRES选择安装的jdk1.6,(之前是MyEclipse6.5,相当于5.0)(注意不要选jre)
3.Window -> Preferences ->MyEclipse -> Servers ->Tomcat -> Tomcat 5.x -->JDK中的Tomcat JDK name选择与步骤2相同
在我选择compiler compliance level为6.0时,因为tomcat默认的是MyEclipse6.5(相当于5.0),所以还没有加载工程时就会报错。
如果早一点查资料,不用自己一股脑的删除,重启,很快就能解决问题。还是没有找到问题出在哪。
详细的可以看这里:http://hellosure.iteye.com/blog/868729
  • 大小: 59.1 KB
  • 大小: 42.7 KB
  • 大小: 31.1 KB
  • 大小: 33.7 KB
分享到:
评论

相关推荐

    Bad version number in .class file 错误

    "Bad version number in .class file" 是一个在Java编程中常见的错误,通常出现在尝试运行或编译不兼容的.class文件时。这个错误意味着.class文件(Java字节码)的版本与正在执行它的JVM(Java虚拟机)版本不匹配。...

    java.lang.UnsupportedClassVersionError Bad version number in .class file异常的解决办法

    ### java.lang.UnsupportedClassVersionError: Bad version number ...通过上述方法,可以有效地解决`java.lang.UnsupportedClassVersionError: Bad version number in .class file`异常问题,并确保项目能够平稳运行。

    Flash Builder 4 正式版中 解决使用LCDS ES2 Data/Services 出现 Bad version number in .class file 问题

    在使用Flash Builder 4开发基于LCDS (LiveCycle Data Services) ES2的项目时,可能会遇到一个名为"Bad version number in .class file"的错误。这个错误通常表明编译后的类文件与运行环境中的Java虚拟机(JVM)版本...

    tomcat:bad version number in class file的解决方法

    "tomcat:bad version number in class file的解决方法" Tomcat 是一个流行的开源 Web 服务器和 servlet 容器,广泛应用于 Web 应用程序的开发和部署。然而,在使用 Tomcat 时,可能会出现 "bad version number in ...

    AXMLPrinter2、baksmali、smali、dex2jar

    number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at ...

    scraper-one:第一个仅使用 Java 的刮刀项目

    我花了一整天来解决这个问题:( jdk 1.7.0_51 上的 UTC+3 不正确使用 bash 运行 scraper-1.0-SNAPSHOT.jar 时遇到 java.lang.UnsupportedClassVersionError: Bad version number in .class file。 在 Windows 上使用...

    java异常解决方案.docx

    * java.lang.UnsupportedClassVersionError: Bad version number in .class file + 解决方案:检查 Java 的版本是否正确,是否存在版本不兼容的问题,尝试使用 compatible 的 Java 版本来解决问题。 四、JSP 异常...

    处理MyEclipse中出现的问题.txt

    具体到文中提到的错误,“Bad version number in .class file”表明.class文件的版本号与当前环境中的JDK版本不匹配。 #### 解决方案 为了解决这一问题,我们需要确保编译环境和运行环境中的JDK版本一致。以下是...

    XStream和Xpp3实现对象到XML的互转参考文档

    另一方面,如果遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`,这意味着编译的JDK版本与运行时的JDK版本不一致,你应该确保两者版本匹配,例如从1.6更换为1.5。 接下来,我们...

    servlet2.4doc

    getAttribute(String) - Method in class javax.servlet.ServletRequestWrapper The default behavior of this method is to call getAttribute(String name) on the wrapped request object. getAttribute(String...

    eclipse使用图解和最最常用的快捷键

    当遇到“Bad version number in .class file”错误时,通常是因为编译环境和运行环境的JRE版本不匹配。解决这个问题,可以通过以下步骤: - 右键点击项目,选择“Properties”。 - 在左侧菜单选择“Java Build ...

    Java程序调试与错误收集--非代码引起的报错

    在Java应用部署过程中,如果遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`这样的异常,通常是因为当前运行环境(如MyEclipse中使用的JDK版本)与编译时使用的JDK版本不一致。...

    java程序调试错误收集

    - **问题描述**:在部署或编译项目时遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`异常。 - **解决方案**: - 检查当前使用的JDK版本是否与项目编译时所用的JDK版本一致。 - ...

    Hibernate4.0

    java.lang.UnsupportedClassVersionError: Bad version number in .class file ``` 这表明类文件的版本高于JVM所支持的版本。为了解决这个问题,需要确保开发和部署环境中使用的JDK版本至少为Java 1.6。如果项目中还...

    java 遇到的各种异常

    `java.lang.UnsupportedClassVersionError`: Bad version number in .class file** - **异常描述**:类文件版本与JVM版本不兼容。 - **原因分析**:编译时使用的JDK版本高于运行时的JDK版本。 - **解决方案**: -...

    BobBuilder_app

    In this version I have done away with the b+tree and hash index in favor of my own MGIndex structure which for all intents and purposes is superior and the performance numbers speak for themselves....

    php.ini-development

    development version only in development environments as errors shown to ; application users can inadvertently leak otherwise secure information. ; This is php.ini-development INI file. ;;;;;;;;;;;;...

    Delphi7.1 Update

    visit the Borland Registered User web site to obtain a localized readme file that may contain important late- breaking information not included in this readme file.IMPORTANT: Delphi must be closed ...

Global site tag (gtag.js) - Google Analytics