因为很久没有接触JAVA框架的东西了,今天在熟悉之前做的一个SSH框架的时候报了一个错:
java.lang.NoClassDefFoundError:org/hibernate/cfg/HbmBinder$SecondPass
GOOGLE了下,发现很多人都说直接删除:lib下的hibernate-annotations.jar即可,我照做了,确实成功解决了这个问题,但是我不清楚到底是什么原因导致的。找很多办法之后,大概知道了具体的原因。
首先在我本地搜索annotations.jar发现在MYECLIPSE下出现了2次:
MyEclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse\lib\annotations - 223M
MyEclipse\eclipse\plugins\com.genuitec.eclipse.springframework\data\1.2\lib\dependencies\hibernate - 128M
很明显128M的这个是旧版本,说明在spring1.2这个版本中hibernate包含了一个旧版本的jar包,所以就会导致这个问题,解决办法就很简单了,可以
1、删除掉lib中旧版本的hibernate-annotations.jar。
2、或者把223M的这个版本的JAR包复制到lib下。
3、或者把223M的JAR包直接覆盖掉128M的,一劳永逸!
不知道我说得是否清楚,如果有其他更好的解决办法的朋友请留言,大家讨论~
分享到:
- 2009-10-31 00:21
- 浏览 1769
- 评论(0)
- 论坛回复 / 浏览 (0 / 1741)
- 查看更多
相关推荐
在Java编程中,`java.lang.NoClassDefFoundError` 是一个常见的运行时异常,它发生在类加载器尝试加载一个在编译时存在但在运行时找不到的类定义时。这个错误通常意味着类路径设置不正确或者依赖项没有正确地被包含...
8. **java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass** 缺少或版本不兼容的Hibernate注解支持库导致的错误。确保项目类路径中包含正确版本的hibernate-annotations.jar。 9. **java....
#### 一、`java.lang.NoClassDefFoundError`:net/sf/ehcache/CacheException 在启动Hibernate时遇到此类错误通常是因为类路径(Classpath)中缺失必要的jar包。具体到这个例子中,问题在于未找到`ehcache.jar`文件...
在使用Eclipse进行Java开发,特别是在Web应用中,可能会遇到`java.lang.NoClassDefFoundError`异常,指向`org/ Hibernate/Session`。这表明Hibernate相关的类没有被正确加载到类路径中。 **解决方案:** 为了处理这...
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> ``` 3. **环境变量**:确保运行环境(如Tomcat服务器)能够访问到这些库。 #### 二、...
- 若出现`java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException`错误,则需要添加`aspectjweaver.jar`。 #### 三、Struts2配置 **1. Struts2环境搭建** - ...
- **示例**:`java.lang.NoClassDefFoundError: org/objectweb/asm/Type`。 - **解决方法**: - 添加ASM库到项目的依赖中。 - 确认版本兼容性。 #### 结论 以上列举了一些常见的Java错误及其处理方法。理解这些...
3. HibernateException:Hibernate是一个开源的ORM(对象关系映射)框架,文档中提到的/Hibernate.cfg.xml not found异常表明Hibernate配置文件未找到。可能的原因包括配置文件未放置在项目的根目录下,或者配置文件...