- 浏览: 148837 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (166)
- Spring (7)
- JavaSE (16)
- web (1)
- Struts2 (2)
- Maven (1)
- 面试 (8)
- Hibernate (4)
- mysql (2)
- WebSerice (2)
- 工作心得 (23)
- 北京 (1)
- 上海 (27)
- groovy (1)
- 生活 (9)
- Linux (12)
- junit (1)
- oracle (5)
- h2db嵌入式数据库 (1)
- redis (14)
- 生活感悟 (1)
- cron (1)
- tomcat (4)
- 设计模式 (7)
- 正则表达式 (1)
- html5 (2)
- 网络编程 (3)
- 微信公众号 (1)
- Java nio (5)
- jdbc (1)
- 框架漏洞 (1)
- 安全 (8)
- 分布式 (2)
- 数据结构 (5)
- xml,json (0)
- xml (1)
- json (1)
- netty (0)
- java8 (1)
- javascript (1)
- 2016计划 (1)
- Java集合源码分析 (1)
- 工作心得,jvm性能调优 (3)
- 转载 (14)
- 产品 (1)
- JVM (10)
最新评论
-
oplife:
都不太难
返利网面试 -
飞翔神话:
谢谢 7 楼 cnrainbing
联想中望面试心得体会 -
飞翔神话:
5 楼 home198979,相比您可能还差点,但是我还是有一 ...
联想中望面试心得体会 -
cnrainbing:
支持小伙子
联想中望面试心得体会 -
jahu:
这简单啊,
联想中望面试心得体会
java.lang.UnsupportedClassVersionError问题调试
- 博客分类:
- 工作心得
java.lang.UnsupportedClassVersionError: com/sand/mcs/pub/core/Publish : Unsupported major.minor version 51.0 (unable to load class com.sand.mcs.pub.core.Publish)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2908)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at com.sand.smp.server.core.util.CT.<clinit>(CT.java:610)
at com.sand.smp.server.core.svc.MutilChannelHelpSvc.calMonitor(MutilChannelHelpSvc.java:86)
at com.sand.smp.server.core.svc.impl.MutilChannelSvcImpl.walletStatQuery(MutilChannelSvcImpl.java:2869)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:91)
at com.sand.smp.server.core.monitor.MonitorAspect.doAround(MonitorAspect.java:28)
at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
看报错信息,是因为使用的jar包版本不对。这个51.0是什么呢?
JDK不同的版本,编译出的class文件是不同的。通过查看分析class文件前几个字节,可以找到对应的关系,详细的参考官方,细微的版本之间可能有差异:
查看jar包的配置文件:
解决方式:
修改项目编译jre版本为1.7.0_79,重新打war包发布,问题解决。
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2908)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at com.sand.smp.server.core.util.CT.<clinit>(CT.java:610)
at com.sand.smp.server.core.svc.MutilChannelHelpSvc.calMonitor(MutilChannelHelpSvc.java:86)
at com.sand.smp.server.core.svc.impl.MutilChannelSvcImpl.walletStatQuery(MutilChannelSvcImpl.java:2869)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:91)
at com.sand.smp.server.core.monitor.MonitorAspect.doAround(MonitorAspect.java:28)
at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
看报错信息,是因为使用的jar包版本不对。这个51.0是什么呢?
JDK不同的版本,编译出的class文件是不同的。通过查看分析class文件前几个字节,可以找到对应的关系,详细的参考官方,细微的版本之间可能有差异:
J2SE 7 = 51 (0x33 hex), J2SE 6.0 = 50 (0x32 hex), J2SE 5.0 = 49 (0x31 hex), JDK 1.4 = 48 (0x30 hex), JDK 1.3 = 47 (0x2F hex), JDK 1.2 = 46 (0x2E hex), JDK 1.1 = 45 (0x2D hex).
查看jar包的配置文件:
解决方式:
修改项目编译jre版本为1.7.0_79,重新打war包发布,问题解决。
发表评论
-
两步认证和加解密通了
2017-02-15 16:43 373两步认证和加解密通了,很开心。 -
使用js搞tripledes加解密的心酸路程
2017-02-13 16:51 609折腾了两天,换了好几个js框架,总算是有了一个结果了,加油吧。 ... -
for循环删除(ArrayList.remove)报错及解决办法
2017-01-12 15:50 1792[size=small]代码: JSONArray bin ... -
2017年年会结束了
2017-01-10 23:48 368年会结束了,但是工作还有很多要做,1月25号会发表年终总结和展 ... -
2017年年会结束了,可以有遗憾,但是不可以有后悔(工作奋斗篇)
2017-01-10 23:41 0工作 学习 奋斗 家庭 房子 现在 将来 -
2017年年会结束了,可以有遗憾,但是不可以有后悔(生活篇)
2017-01-10 23:40 02017年年会结束了,可以有遗憾,但是不可以有后悔(生活篇) ... -
全栈工程师
2016-12-22 15:06 622full stack developer -
2016年终总结和对未来一年的计划
2016-12-14 10:25 442总结纠结了半天,终于写完交上去了: 计划: 1、做好xxx产 ... -
今天跟同学,同事聊了好多
2016-12-13 23:43 476从工作上来讲,现在的状态已经比之前好了不少,维护开 ... -
最近事情很多-最近的心得和体会
2016-12-13 13:08 0工作遇到的问题: 1、代码风格不统一,变量定义,事务控 ... -
最近事情很多-最近的心得和体会
2016-12-12 23:35 617工作遇到的问题: 1、代码风格不统一,变量定义,事务控 ... -
工作小结20160717
2016-07-17 22:54 397这周依然忙碌,新功能添加(央行新文件需要落实)。 收获: 1、 ... -
最近一个月的工作心得
2016-07-03 13:35 597最近因为央行检查,六七月的工作注定必须是忙碌的,加了很多班,也 ... -
js控件加载顺序引发的问题
2016-07-02 22:01 590问题背景: 项目需要引入一个密码控件,该密码控件计算密文值需要 ... -
windows下查看端口占用并杀死对应进程
2016-05-09 15:21 5051、netstat -ano |findstr 8080 // ... -
一次生产事故引起的反思
2016-05-04 11:07 411五一回家的路上,看到微信群里的通知,用户无法登陆,所有用户相关 ... -
log4j指定打印出的日志格式
2016-03-30 14:18 420log4j指定打印出的日志格式: log4j.appende ... -
tomcat日志打印乱码问题
2016-03-29 20:52 735linux上部署了应用,但是tomcat下的日志一直时乱码,在 ... -
最近很忙,怎么提高工作效率?
2016-03-19 22:59 501年后,走了两个老员工,最近公司事情很多,连着两周加班,连续的上 ... -
UE将指定内容替换为换行符
2016-02-25 14:19 1238替换的方法就是用^r^n指定为回车换行。
相关推荐
- **`java.lang.UnsupportedClassVersionError`**:当JVM版本不支持类文件版本时抛出。 - **`java.lang.VirtualMachineError`**:当JVM出现严重错误时抛出,如内存损坏。 了解并掌握这些异常及其处理方法对于编写...
4. **集成开发环境(IDE)**:推荐使用Eclipse或IntelliJ IDEA等Java开发工具,便于代码管理和调试。 接下来是Jeecms的安装步骤: 1. **解压Jeecms源码**:下载并解压`jeecms-3.0.4-final-src.zip`,这将包含整个...
逆向工程,即对已编译的代码进行分析,理解其内部工作原理,是黑客常用的技术手段,但也被开发者用于调试和优化。在这个领域,"dextojar" 和 "baksmali" 是两个关键的工具,它们主要用于Android应用的逆向工程过程。...
* java.lang.UnsupportedClassVersionError: Bad version number in .class file + 解决方案:检查 Java 的版本是否正确,是否存在版本不兼容的问题,尝试使用 compatible 的 Java 版本来解决问题。 四、JSP 异常...
在使用MyEclipse进行Java开发时,用户可能会遇到各种各样的问题,其中较为常见的一个问题是与JDK版本不兼容导致的`java.lang.UnsupportedClassVersionError`错误。本文将详细介绍如何解决此问题,并提供具体的步骤来...
- **问题描述**:在部署或编译项目时遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`异常。 - **解决方案**: - 检查当前使用的JDK版本是否与项目编译时所用的JDK版本一致。 - ...
在Java应用部署过程中,如果遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`这样的异常,通常是因为当前运行环境(如MyEclipse中使用的JDK版本)与编译时使用的JDK版本不一致。...
### Java异常总结与详解 #### 引言 在Java编程中,异常处理是软件开发过程中不可或缺的一部分。良好的异常处理能够帮助我们及时发现并...此外,合理地利用日志记录来跟踪异常的发生也是提升调试效率的重要手段之一。
在使用JUnit/StrutsTest时,可能会遇到java.lang.UnsupportedClassVersionError: junit/framework/TestListener (Unsupported major.minor version 49.0)错误。 解决方法:根据JDK版本选择合适的JUnit版本。如果...
在 Tomcat 启动时,出现 "java.lang.UnsupportedClassVersionError: Bad version number in .class file" 的错误。这是因为 Java 编译版本和运行时版本不兼容所引起的。当我们编译 Java 代码时,编译器会生成 class ...
在Java中,异常被组织成一个层次结构,根类是`java.lang.Throwable`,它有两个主要的子类:`Error`和`Exception`。`Error`通常表示系统级的错误,比如内存不足(`OutOfMemoryError`)或虚拟机错误(`...
首先,运行时异常是程序在执行过程中可以预见的异常,它们属于`java.lang.Throwable`的子类,并且通常可以通过代码进行预防或捕获。下面列举了一些常见的运行时异常: 1. **算术异常类:ArithmeticException** - 当...
确保编译器的级别与项目的Java Build Path中的库相匹配,否则可能会遇到`UnsupportedClassVersionError`错误。 在编写代码时,类名、包名和访问权限是必不可少的部分。访问权限修饰符包括public、private、...
2. **解决版本不兼容问题**:如果遇到 `java.lang.UnsupportedClassVersionError` 错误,通常是由于编译器版本与 JRE 版本不一致导致的。此时需要检查 Eclipse 的 JRE 设置是否正确。 3. **颜色与字体设置**:在...
- 例如:`import static java.lang.System.out;` - **可变参数**: - 方法参数列表中可以定义一个或多个可变参数,这些参数会被封装成数组传递。 - 示例:`public static int add(int x, int... args) { }` - **...