MyEclipse6.0.0 GA中Hibernate3或Hibernate3.1的库不好用

MyEclipse6.0.0 GA中Hibernate3或Hibernate3.1的库不好用

关键字:   MyEclipse6.0.0 GA Hibernate    

Problem
最近在搞SSH,用的是MyEclipse6。今天用它来给一个新工程add Hibernate Capabilities.但是部署运行项目,其间报错如下:

代码
  1. %%%% Error Creating SessionFactory %%%%   
  2. java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap"'s signer information does not match signer information of other classes in the same package  
  3.     at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)   
  4.     at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)   
  5.     at java.lang.ClassLoader.defineClass(ClassLoader.java:614)   
  6.     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)   
  7.     at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)   
  8.     at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)   
  9.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)   
  10.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)   
  11.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)   
  12.     at org.hibernate.mapping.Table.(Table.java:33)   
  13.     at org.hibernate.cfg.Mappings.addTable(Mappings.java:165)   
  14.     at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:299)   
  15.     at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)   
  16.     at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)   
  17.     at org.hibernate.cfg.Configuration.add(Configuration.java:386)   
  18.     at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)   
  19.     at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)   
  20.     at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)   
  21.     at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)   
  22.     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)   
  23.     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)   
  24.     at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)   
  25.     at edu.dhu.hibernate.HibernateSessionFactory.(HibernateSessionFactory.java:30)   
  26.     at edu.dhu.hibernate.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)   
  27.     at edu.dhu.service.UserServiceImpl.isValidUser(UserServiceImpl.java:58)   
  28.     at edu.dhu.struts.action.LoginAction.execute(LoginAction.java:48)   
  29.     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)   
  30.     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)   
  31.     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)   
  32.     at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)   
  33.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)   
  34.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)   
  35.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)   
  36.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   
  37.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)   
  38.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)   
  39.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)   
  40.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   
  41.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   
  42.     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)   
  43.     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)   
  44.     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)   
  45.     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)   
  46.     at java.lang.Thread.run(Thread.java:595)  

 

Solution  方案1
查阅网上解答,得知为MyEclipse6里面的Hibernate library是有问题的。于是我把Hibernate的库从Build Path中remove掉。然后从网上下载Hibernate,把Hibernate3.jar和其lib下所有jar文件拷贝到我的项目的lib下。这样,重新部署和运行,没有再出现该报错。 下载各种版本hibernate包的地址是:http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc

Solution 方案2
主要是commons-collections.jar包冲突,把你下载的那个jar包拷贝到lib下替换掉原来的即可。下载地址
http://ttitfly.javaeye.com/topics/download/a1a098f3-49db-4e28-ad76-a9af560b3fee

SSH常出这一类问题。解决办法是参看文档,选择兼容的版本,而且最有可能出问题的就是Hibernate

Solution 方案3(这个解决方案最管用,超级推荐!!!)
很多人在用struts和hibernate整合开发时会碰到“%%%% Error Creating SessionFactory? %%%%”,解决方法是需将commons-beanutils-1.7.0.zip下的三个jar包放到project/web-inf/lib下即可。 下载地址:Apache : commons-beanutils-1.7.0.zip

最后更新: 2007-10-10 15:30
15:25  |   永久链接  |   浏览 (207)  |   评论  (0)  | Java   |  
 

你可能感兴趣的:(hibernate)