启动Tomcat就报错,求解

chunhong_198915 2010-08-05 09:52:26
2010-08-05 09:41:44,439 [main] ERROR ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class cn.com.hnisi.fb.models.ShopBaseData)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
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:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class cn.com.hnisi.fb.models.ShopBaseData)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1851)
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 java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:122)
at org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:191)
at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:67)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:136)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:475)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:133)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:297)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
... 36 more
2010-8-5 9:41:44 org.apache.catalina.core.StandardContext start

本人使用的工具是MyEclipse8.0,JDK 是1.6,集成的是struts2,spring3,hibernate3
在web.xml文件的配置是这样的:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

报错的原因我个人认为是JDK版本的问题,但是我更换为MyEclipse自带的JDK也还是不行,请高手不吝赐教,多谢了
...全文
196 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
chunhong_198915 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 supercodingman 的回复:]
1、是MyEclipse和Tomcat的JDK版本不一致引起的
2、导入的包编译版本问题
[/Quote]

对的,是这个问题,已经解决了,非常感谢
SuperCodingMan 2010-08-06
  • 打赏
  • 举报
回复
1、是MyEclipse和Tomcat的JDK版本不一致引起的
2、导入的包编译版本问题
king138888 2010-08-06
  • 打赏
  • 举报
回复
是你的框架集成有问题,如果是ssh集成,实现上spring最好是由struts管理的,你的web.xml中缺少spring与struts关联的代码。
struts.xml中,action的class指向spring中对应bean的id。
lib中要加一些框架的插件包
mstchen88 2010-08-06
  • 打赏
  • 举报
回复
是你的Sping注入出了问题。 导致不能加载相关信息!
space_Wind 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chunhong_198915 的回复:]
引用 1 楼 space_wind 的回复:
检查一下applicationContext.xml里面所要加载的类的方法有没有写错。
xml头文件的版本号和beans spring连接的版本号有没有问题。
applicationContext.xml是否放在了web-inf下。
其他的就真的无能为力了。
<bean id="sessionFactory" class="org.sprin……
[/Quote]


applicationContext.xml放在web-inf下试试好吗!~
fei381895649fei 2010-08-06
  • 打赏
  • 举报
回复
jar包有问题.....肯定是
hedashixun 2010-08-06
  • 打赏
  • 举报
回复
是你的框架集成有问题,如果是ssh集成,实现上spring最好是由struts管理的,你的web.xml中缺少spring与struts关联的代码。
struts.xml中,action的class指向spring中对应bean的id。
lib中要加一些框架的插件包
landyshouguo 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 closewbq 的回复:]
Bad version number in .class file
应该是由于版本不同引起的!
[/Quote]d
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 chenjingaccp 的回复:]
可能是jar版本不同,或是没有导入的问题。。。
[/Quote]

要怎么解决呢,没有导入,是说我没有导入jar包吗?可是需要用到的包我都导入了啊
chengjing123456 2010-08-05
  • 打赏
  • 举报
回复
可能是jar版本不同,或是没有导入的问题。。。
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sustbeckham 的回复:]
XML代码

< ?XML版本= “1.0 “编码=“的UTF - 8“? >
<豆类 xmlns=“ http://www.springframework.org/schema/beans “
xmlns :将xsi=“ http://www.w3.org/2001/XMLSchema-instance “
xmlns :背景=“ http://www.springframew……
[/Quote]
嗯,对于这一点我也有些疑问,MyEclipse8.0 不能添加spring3的支持,所以这些都是拷贝过来的,不知道是不是 这里出了问题,我去下载个spring3的试一下
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 psuqqvfp 的回复:]
编译器换成1.5就好了
[/Quote]

我想问一下,要怎么换,我没换过,能不能帮写个步骤出来呢,谢过
psuqqvfp 2010-08-05
  • 打赏
  • 举报
回复
编译器换成1.5就好了
sustbeckham 2010-08-05
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<context:component-scan base-package="cn.com.hnisi.fb"></context:component-scan>


你用了spring3,但是你的这些XSD还是用2.5的?我没用过3,但是这样写可行吗?疑问一个。
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[报价=引用4楼xyylove520的回复:]
检查你的瓶子包
[/报价]
jar包我都检查过了,都有的有一个这样的包org.springframework.web-3.0.3.RELEASE.jar的包,下面有一个这样的文件org.springframework.web.context.ContextLoaderListener.class
监听器应该是使用到这个文件的吧
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[报价=引用3楼closewbq的回复:]
坏的版本号。class文件
应该是由于版本不同引起的!
[/报价]
我也觉得是这个问题,可是怎么样才知道版本是不是一样的呢
chunhong_198915 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 space_wind 的回复:]
检查一下applicationContext.xml里面所要加载的类的方法有没有写错。
xml头文件的版本号和beans spring连接的版本号有没有问题。
applicationContext.xml是否放在了web-inf下。
其他的就真的无能为力了。
[/Quote] <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list> <value>cn/com/hnisi/fb/models/Authority.hbm.xml</value></list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.show_sql=true
hibernate.format_sql=false
</value>
</property>
</bean>
[/code]
上面的是applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<context:component-scan base-package="cn.com.hnisi.fb"></context:component-scan>
这里是头版本号
applicationContext.xml是放在Src下面的,这样不会有问题吧
哎,我看得头都晕了,都找不出原因啊
2010-08-05
  • 打赏
  • 举报
回复
检查你的jar包
closewbq 2010-08-05
  • 打赏
  • 举报
回复
Bad version number in .class file
应该是由于版本不同引起的!
Jat_MeiBo 2010-08-05
  • 打赏
  • 举报
回复
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed;

spring配置文件的sessionFactory这个bean出错了啊..
加载更多回复(2)

67,515

社区成员

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

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