我是Struts和hibernate的新手。为了解它,我尝试了一个登录应用程序。我在netbeans IDE 7.1.2中使用Struts 2,Hibernate 3.2.5,Java 6,Tomcat 6。我得到了像
这样的例外异常
java.lang.reflect.InvocationTargetException
root cause: java.lang.NoClassDefFoundError: Could not initialize class hibernateutilities.HibernateUtil
服务器日志
Initial SessionFactory creation failed.java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter
我在执行
时遇到此异常SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
如果有人想了解更多详情,请注明。
答案 0 :(得分:1)
根据我对错误的理解,您的 asm 版本与您的Hibernate版本不兼容。
目前很难说完全匹配的版本,所以我相信我最好的选择是接受maven的帮助,让maven以正确的方式为我做这件事,
另一种方法是查看hibernate-core的依赖项及其版本
答案 1 :(得分:1)
我假设您正在使用Hibernate教程中的HibernateUtil类?无论如何,检查你正在捆绑你的web应用程序的asm版本以及是否有一个直接部署在Tomcat中 - 可能存在冲突并且加载了不兼容的版本(AFAIR Hibernate有一些'分离的'JAR-s这解决了这个问题)。