hibernate版本3.50,struts2版本2.1.8.1,导入的包有:
hibernate:
   hibernate3.jar;
   antlr-2.7.6.jar
   hibernate-jpa-2.0-api-1.0.0.Final.jar
   commons-collections-3.1.jar
   dom4j-1.6.1.jar
   javassist-3.9.0.GA.jar
   jta-1.1.jar
   slf4j-api-1.5.8.jar
   log4j-1.2.16.jar
   slf4j-log4j12-1.5.2.jar
   slf4j-nop-1.5.8.jarstruts2包有
   commons-fileupload-1.2.1.jar
   commons-io-1.3.2.jar
   commons-logging-1.0.4.jar
   freeer-2.3.15.jar
   ognl-2.7.3.jar
   struts2-core-2.1.8.1.jar
   xwork-core-2.1.6.jar
运行网页报错,错误语句AnnotationConfiguration.configuration.buildSessionFactory();错误信息:
Struts has detected an unhandled exception: Messages: class org.hibernate.cfg.ExtendedMappings has interface org.hibernate.cfg.Mappings as super class 
 
--------------------------------------------------------------------------------Stacktraces
java.lang.reflect.InvocationTargetException 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
………………
java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.ExtendedMappings has interface org.hibernate.cfg.Mappings as super class 
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings(AnnotationConfiguration.java:187)
    org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:277)
    org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1377)
    org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    com.xun.service.WenJuanService.save(WenJuanService.java:19)
    com.xun.action.WenJuanAction.add(WenJuanAction.java:25)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)……………………
是不是什么包冲突了,如果是的话是什么包冲突了?
希望大家帮我下忙,我实在找不到资料了,不懂是什么问题。先谢了

解决方案 »

  1.   

    多谢参与 
    我用Junit4写test没问题
      

  2.   

    我检查了一下,跟我用的包是一模一样的,只是版本不同。我用的是hibernate3.5,struts2.2.1
      struts2-core-2.1.8.1.jar
      xwork-core-2.1.6.jar
    你这两个jar包的版本怎么不一致?我的都是2.2.1
    要确定你的jar包是从官方的下载包里copy过来的
    hibernate3 有的版本不支持annotation
      

  3.   

    多谢楼上的提示,多谢了
    我的问题解决了,重copy了strut2的jar包进WEB-INF/lib,如下:
    commons-fileupload-1.2.1.jar
      commons-io-1.3.2.jar
      commons-logging-1.1.jar
      freeer-2.3.15.jar
      ognl-2.7.3.jar
      struts2-core-2.1.8.1.jar
      xwork-core-2.1.6.jar
    就解决了。
    其实如果真的不行还可以用XML啊。