`
sucreat
  • 浏览: 39441 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Class文件找不到发现的问题及解决过程

阅读更多
java.lang.NoClassDefFoundError: org/hibernate/exception/DataException
	at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:615)
	at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
	at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:974)
	at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:967)
	at com.lesoa.common.dao.impl.CommonDaoHibernateImpl.queryByProperty(CommonDaoHibernateImpl.java:333)
	at com.lesoa.common.dao.impl.CommonDaoHibernateImpl.queryOneByProperty(CommonDaoHibernateImpl.java:315)
	at com.lesoa.sysM.service.impl.UserServiceImpl.queryOneByUserName(UserServiceImpl.java:64)
......

出现该问题的原因是没有找到相关的class文件。
仔细检查项目中Hibernate包中的class文件,发现的确没有DateException.class这个文件。重新下载一个Hibernate包导入。问题解决。
又出现下面问题:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonDaoHibernate' defined in class path resource [test/applicationContext.xml]: Cannot resolve reference to bean 'oaSessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oaSessionFactory' defined in class path resource [test/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedClassVersionError: org/hibernate/cfg/SecondPass (Unsupported major.minor version 49.0)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oaSessionFactory' defined in class path resource [test/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedClassVersionError: org/hibernate/cfg/SecondPass (Unsupported major.minor version 49.0)
Caused by: java.lang.UnsupportedClassVersionError: org/hibernate/cfg/SecondPass (Unsupported major.minor version 49.0)
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:474)
	at java.net.URLClassLoader.access$500(URLClassLoader.java:108)
	at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:846)
......

在Google中搜索发现导致该问题的原因有两个,下面是引用别人的描述:
1,It's relatively easy - hibernate.jar that you use was compiled with JDK 1.5 (corresponds to class file version 49) without specifiying a target option.

You need to rebuild that jar from source using JDK 1.4. Just download hibernate sources, unpack and run build.bat. Note that Hibernate's build.xml has target specifed as 1.4, so you have to obtain jar usable with 1.4 even if you compile with 1.5. (因为导入的包class文件的编译JDK同项目的JDK不相符导致,需要对导入包重新编译)
2,Another cause of problem may be that you have somewhere on classpath another version of the hibernate.jar (or class in question outside of jar).(因为在导入的包里面有其他的相同的class文件并且版本不一样,需要移除一个。)
对我导入的Hibernate包进行查找发现Hibernate3.jar和Hibernate-annotation里面有相同的文件,移除Hibernate-annotation包,问题解决。但又出现下面问题:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonDaoHibernate' defined in class path resource [test/applicationContext.xml]: Cannot resolve reference to bean 'oaSessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oaSessionFactory' defined in class path resource [test/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oaSessionFactory' defined in class path resource [test/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
Caused by: java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
	at org.hibernate.bytecode.javassist.BytecodeProviderImpl.getProxyFactoryFactory(BytecodeProviderImpl.java:49)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactoryInternal(PojoEntityTuplizer.java:203)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:181)
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:158)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:76)
......

该问题是因为没有导入javassist.jar包,导入即可。上述问题解决之后,程序能够找到异常类并给予相关错误的准确提示:
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: userName of: com.lesoa.sysM.vo.T_USER; nested exception is org.hibernate.QueryException: could not resolve property: userName of: com.lesoa.sysM.vo.T_USER
Caused by: org.hibernate.QueryException: could not resolve property: userName of: com.lesoa.sysM.vo.T_USER
	at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:67)
	at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:61)
	at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassPropertyTableNumber(AbstractEntityPersister.java:1402)
	at org.hibernate.persister.entity.BasicEntityPropertyMapping.toColumns(BasicEntityPropertyMapping.java:54)
	at org.hibernate.persister.entity.AbstractEntityPersister.toColumns(AbstractEntityPersister.java:1377)
	at org.hibernate.loader.criteria.CriteriaQueryTranslator.getColumns(CriteriaQueryTranslator.java:457)

在t_user类里面没有找到对应的userName属性!(这里是我们的命名规范很又问题,实在是丢人)!以后切记!将userName改为username问题解决。
所以项目中错误的包的引入是一件很让人头疼的事情!
分享到:
评论

相关推荐

    WEB中Applet找不到class的问题

    对于applet学习使用过程中 出现的找不到class的解决办法

    java 编写文件上传类简单易用

    在文件上载和表单提交的过程中,有两个指的关心的问题,一是上载的数据是是采用的那种方式的编码,这个问题的可以从 Content-Type 中得到答案,另一个是问题是上载的数据量有多少即 Content-Length ,知道了它,就...

    存储过程的安全及性能优化

    存储过程的安全及性能优化 存储过程分类  系统存储过程  自定义存储过程  SQL Server使用者编写的存储过程  扩展存储过程  动态链接库(DLL)函数的调用看,主要用于客户端和服务器端之间进行通信  exec...

    糖果的软件

    要解决上述问题,需要确定拥有文件打开句柄的进程,然后关闭此进程。 在以前的 Windows 中,我们可以使用资源工具包的 Oh.exe 。但在 XP 中,安装 好的 Support Tools 却不带 Oh.exe 。不过, XP 提供了一个新的...

    JAVA上百实例源码以及开源项目

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    xmljava系统源码-AndroidFAQSolutions:Android开发各类常见错误解决方案(不断更新中)

    本文属于个人平时项目开发过程遇到的一些问题,记录下来并总结解决方案,希望能帮到大家解决问题,有些问题的解决方案是在StackoverFlow上找到的,建议大家遇到问题多去上面找,基本上都能找到解决方案的。...

    网管教程 从入门到精通软件篇.txt

    CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 CPI:Microsoft MS-DOS代码页...

    Android插件框架Android-Plugin-Framework.zip

    如果插件和宿主共享依赖库,那边编译插件的时候不可将共享库编译到插件当中,包括共享库的代码以及R文件,但是需要在编译时添加到classpath中,且插件中如果要使用共享依赖库中的资源,需要使用共享库的R文件来进行...

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍如下。 问题概要: 在struts2中使用result里type="stream"的结果类型时,...

    ssh(structs,spring,hibernate)框架中的上传下载

     以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。  工程...

    8Gsd卡 sdhc的驱动

    2、打开目录tools,点击运行注册表工具regedit.exe,导入SDHC.reg(建议导入前先备份一下键值HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class,觉得不放心就导回旧设置); 3、拷贝3个dll...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    解决这个问题我们可以将相应的.dll 文件放到系统 中。在Qt Creator 的安装目录的qt 文件下的bin 文件夹下(我安装在了D 盘, 所以路径是D:\Qt\2009.04\qt\bin),可以找到所有的相关.dll 文件。在这里 找到mingwm10....

    jsp中文乱码 jsp mysql 乱码的解决方法

    当使用JSP页面将中文数据添加到MySql数据库中的时候发现变为乱码,或者从mysql中读取中文的时候出现乱码,这些问题根源都是由于字符编码不一致造成的。要知道病源是什么我们才能对症下药,所以我将问题产生的过程...

    JNDI-Inject-Exploit

    **请勿对非授权目标进行扫描,如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,作者将不承担任何法律及连带责任。** ## Introduce &gt; 本工具用于解决 Fastjson、log4j2、原生JNDI注入等场景中...

    JAVA上百实例源码以及开源项目源代码

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    java 面试题 总结

    多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang....

    手机 pdf 阅读器

    在三星手机上,时间会走得比较快,由于没有真机,实在找不到问题所在 [2008.1.1] Ver:3.2.1 修正了阅读历史图标显示不正确的BUG 修正了阅读HTML文件时,不显示空格的BUG 修正HTML阅读时解析不正确的BUG 提升HTML...

    iReport4.5打印实例

    在学习的过程中遇到很多的问题,在这里不一一列出了,现在这个小实例就是关于iReport自带的打印功能,版本是4.5。网上资料都是3.0的打印,但是我们用4.5做的报表模板用3.0的库去打印难免会出现问题,比如说4.5中有...

Global site tag (gtag.js) - Google Analytics