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也还是不行,请高手不吝赐教,多谢了

解决方案 »

  1.   

    检查一下applicationContext.xml里面所要加载的类的方法有没有写错。
    xml头文件的版本号和beans spring连接的版本号有没有问题。
    applicationContext.xml是否放在了web-inf下。
    其他的就真的无能为力了。
      

  2.   

    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出错了啊..
      

  3.   

    Bad version number in .class file 
    应该是由于版本不同引起的!
      

  4.   

     <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下面的,这样不会有问题吧
    哎,我看得头都晕了,都找不出原因啊
      

  5.   

    [报价=引用3楼closewbq的回复:]
    坏的版本号。class文件
    应该是由于版本不同引起的!
    [/报价]
    我也觉得是这个问题,可是怎么样才知道版本是不是一样的呢
      

  6.   

    [报价=引用4楼xyylove520的回复:]
    检查你的瓶子包
    [/报价]
    jar包我都检查过了,都有的有一个这样的包org.springframework.web-3.0.3.RELEASE.jar的包,下面有一个这样的文件org.springframework.web.context.ContextLoaderListener.class
    监听器应该是使用到这个文件的吧
      

  7.   


    <?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,但是这样写可行吗?疑问一个。
      

  8.   

    嗯,对于这一点我也有些疑问,MyEclipse8.0 不能添加spring3的支持,所以这些都是拷贝过来的,不知道是不是 这里出了问题,我去下载个spring3的试一下
      

  9.   

    可能是jar版本不同,或是没有导入的问题
      

  10.   


    要怎么解决呢,没有导入,是说我没有导入jar包吗?可是需要用到的包我都导入了啊
      

  11.   

    jar包检查一下,不行就从新在lib中部署一下
      

  12.   

    1、是MyEclipse和Tomcat的JDK版本不一致引起的
    2、导入的包编译版本问题
      

  13.   

    applicationContext.xml放在web-inf下试试好吗!~
      

  14.   

    是你的Sping注入出了问题。  导致不能加载相关信息!
      

  15.   

    是你的框架集成有问题,如果是ssh集成,实现上spring最好是由struts管理的,你的web.xml中缺少spring与struts关联的代码。
    struts.xml中,action的class指向spring中对应bean的id。
    lib中要加一些框架的插件包
      

  16.   

    是你的框架集成有问题,如果是ssh集成,实现上spring最好是由struts管理的,你的web.xml中缺少spring与struts关联的代码。
    struts.xml中,action的class指向spring中对应bean的id。
    lib中要加一些框架的插件包