您的位置:首页 > 编程语言 > Java开发

Spring开发中出现Unsupported major.minor version 51.0错误

2014-03-19 00:00 399 查看
按照《Spring 3.x企业应用开发实战》中第二章的例子程序,在完成业务层的Service后,在applicationContext.xml中配置事务支持,总是会出现警告:

Exception 'com/swiee/dao/LoginLogDao : Unsupported major.minor version 51.0' applicationContext.xml /forumProj/src line 40 Spring AOP Problem

百度之后发现是由于jdk版本的错误:程序编译的jdk版本比运行时jdk版本更高。我用的MyEclipse2013自带是1.6的jdk,我自己指定的是1.7。且在Preferences中我也指定了默认1.7,BuildPath中也是1.7, Project Facets中也是1.7, 不知道为什么还要报这个warning。

我把Project Facets修改为1.6后,警告消失,难道是加入了Spring3.1的事务处理的原因?检查了一下org.springframework.aop下的Advisor.class,发现

// Compiled from Advisor.java (version 1.5 : 49.0, no super bit)

原来是用jdk1.5编译的版本(如下表)。

在wildfly8上部署后,能正常运行,先暂时这样。

JDK 编译器版本
target 参数
十六进制 minor.major
十进制 minor.major
jdk1.1.8
不能带 target 参数
00 03 00 2D
45.3
jdk1.2.2
不带(默认为 -target 1.1)
00 03 00 2D
45.3
jdk1.2.2
-target 1.2
00 00 00 2E
46.0
jdk1.3.1_19
不带(默认为 -target 1.1)
00 03 00 2D
45.3
jdk1.3.1_19
-target 1.3
00 00 00 2F
47.0
j2sdk1.4.2_10
不带(默认为 -target 1.2)
00 00 00 2E
46.0
j2sdk1.4.2_10
-target 1.4
00 00 00 30
48.0
jdk1.5.0_11
不带(默认为 -target 1.5)
00 00 00 31
49.0
jdk1.5.0_11
-target 1.4 -source 1.4
00 00 00 30
48.0
jdk1.6.0_01
不带(默认为 -target 1.6)
00 00 00 32
50.0
jdk1.6.0_01
-target 1.5
00 00 00 31
49.0
jdk1.6.0_01
-target 1.4 -source 1.4
00 00 00 30
48.0
jdk1.7.0
不带(默认为 -target 1.6)
00 00 00 32
50.0
jdk1.7.0
-target 1.7
00 00 00 33
51.0
jdk1.7.0
-target 1.4 -source 1.4
00 00 00 30
48.0
Apache Harmony 5.0M3
不带(默认为 -target 1.2)
00 00 00 2E
46.0
Apache Harmony 5.0M3
-target 1.4
00 00 00 30
48.0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring jdk java