java.lang.UnsupportedClassVersionError

Liuyfly 2013-09-13 11:28:27
今天搭了个spring的环境,连接数据库,出现了一个问题:
Exception in thread "main" org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in file [D:\workspace\extjs\SpringTest001\src\beans.xml]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: Bad version number in .class file
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1253)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1319)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:885)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
at com.spring.test.FactoryTest4.main(FactoryTest4.java:10)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242)
... 9 more

看得出来,似乎是版本的问题。然后我调整了各个地方的版本:







但是就是不管用,依然报这个错。
我用的spring的版本是2.5,项目涉及的其他的jar包有:
commons-dbcp-1.4.jar
commons-logging-1.1.1.jar
commons-pool-1.5.5.jar
junit-4.8.1.jar
ojdbc14.jar

把spring2.5换成了3,问题依旧存在。
附上我的配置:


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.100.114:1521:oradb"/>
<property name="username" value="netpaydbuser"/>
<property name="password" value="netpaydbuser"/>
</bean>

还有代码:

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class FactoryTest4 {
public static void main(String[] args) throws Exception {
ApplicationContext context = new FileSystemXmlApplicationContext(
"/src/beans.xml");
DataSource ds = (DataSource) context.getBean("dataSource");
java.sql.Connection conn = ds.getConnection();
java.sql.Statement stmt = conn.createStatement();
java.sql.ResultSet rs = stmt
.executeQuery("select * from tbl_batch_instcode_mapping");
while (rs.next()) {
System.out.println(rs.getString("INST_NAME"));
}
rs.close();
stmt.close();
conn.close();
}
}


实在没办法了,换了个数据源的配置,用spring的数据源:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.100.114:1521:oradb"/>
<property name="username" value="netpaydbuser"/>
<property name="password" value="netpaydbuser"/>
</bean>


然后就***好了。。。。。。。。。。求大神指导,第一种数据源的配置有什么问题?
...全文
7087 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
O溺水的鱼0 2013-09-22
  • 打赏
  • 举报
回复
problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError ---------------- 你这个数据源的class文件编译的jdk的版本比你应用服务器上的jdk的版本要高造成的,比如class文件是从jdk1.7编译出来的class,放到jdk1.6的应用服务器上就会报这个错
末日哥 2013-09-13
  • 打赏
  • 举报
回复
不太清楚了,换个Tomcat试试
Liuyfly 2013-09-13
  • 打赏
  • 举报
回复
引用 5 楼 fudongrifdr 的回复:
不应该是这个界面吗。。。
我用的是eclipse
末日哥 2013-09-13
  • 打赏
  • 举报
回复
不应该是这个界面吗。。。
Liuyfly 2013-09-13
  • 打赏
  • 举报
回复
引用 3 楼 fudongrifdr 的回复:
Tomcat的JDK是什么版本
第一个图就是tomcat的JDK配置呀,改成1.5的了。
末日哥 2013-09-13
  • 打赏
  • 举报
回复
Tomcat的JDK是什么版本
Liuyfly 2013-09-13
  • 打赏
  • 举报
回复
引用 1 楼 xxhhbb1538 的回复:
jdk版本跟第一种配置的数据源的jar包冲突了?
不懂……啥意思?
  • 打赏
  • 举报
回复
jdk版本跟第一种配置的数据源的jar包冲突了?

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧