nested exception is java.lang.NoClassDefFoundError: org/hibernate/MappingExcepti

yinhehuoxing 2011-05-27 12:00:28

package com.sj.persistence.dao
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [com/sj/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/MappingException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:545)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at persistence.dao.CustomerDaoTest.setUpBeforeClass(CustomerDaoTest.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NoClassDefFoundError: org/hibernate/MappingException
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:124)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:92)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.MappingException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 34 more



谁能帮看看啊!这个异常是怎么回事
哪里出事了?
...全文
7002 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmmoxiaohan 2012-08-17
  • 打赏
  • 举报
回复
一般都是这样。
yinhehuoxing 2011-06-01
  • 打赏
  • 举报
回复
找到问题了。myeclipse的包没有引入。不知道怎么回事,有时候打开myeclipse的时候,项目中就会丢失一些包!重新导一下就好了。
我用的是myeclipse 8.5
不善^ 2011-05-27
  • 打赏
  • 举报
回复
org.hibernate.MappingException
没有发现这个类
我怀疑是你spring配置文件里配置这个类 匹配错了
回头不看 2011-05-27
  • 打赏
  • 举报
回复
ApplicationContext cxt = new ClassPathXmlApplicationContext("com/sj/applicationContext.xml");
customerDao = (CustomerDao) cxt.getBean("customerDao");
楼主是用注解还是配置文件?
用配置文件的话 看看在com/sj/applicationContext.xml中是否存在customerDao bean及
<property name="mappingResources">
<list>
<value>你要配置的实体 在你的项目应该是Customer的实体的绝对路径</value>
</list>
</property>
yinhehuoxing 2011-05-27
  • 打赏
  • 举报
回复
还想问一下,是不是myeclipse8.5引入的包经常会出现引入错误,或者丢失的问题?
yinhehuoxing 2011-05-27
  • 打赏
  • 举报
回复


package persistence.dao;

import java.util.List;

import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.sj.persistence.dao.CustomerDao;
import com.sj.persistence.po.Customer;

public class CustomerDaoTest {
private static CustomerDao customerDao ;

@BeforeClass
public static void setUpBeforeClass() throws Exception {
try {
System.out.println(CustomerDao.class.getPackage());
ApplicationContext cxt = new ClassPathXmlApplicationContext("com/sj/applicationContext.xml");
customerDao = (CustomerDao) cxt.getBean("customerDao");
} catch (Exception e) {
e.printStackTrace();
}
}

@Test
public void testSave() {
System.out.println(customerDao);
Customer c = new Customer("DDD" , "admin" , "admin1@163.com" , 100 , 123.321 );
c.setComment("记录备注");
customerDao.save(c);
}

@Test
public void testUpdate() {
System.out.println(customerDao);
Customer c = new Customer("管理员" , "admin" , "admin@163.com" , 100 , 111.21 );
c.setComment("记录备注更新A");
customerDao.update(c);
}

@Test
public void testQueryCustomerByKey() {
Customer c = (Customer) customerDao.queryCustomerByKey("管理员");
System.out.println(c.getUsername() + "\t" + c.getPassword()
+ "\t" + c.getEmail() + "\t" + c.getScore()
+ "\t" + c.getSalesTotal() + "\t" + c.getComment());

}

@Test
public void testQueryCustomerByProperty() {
List<Customer> list = (List<Customer>) customerDao.queryCustomerByProperty( Customer.COMMENT, "记录备注");
System.out.println("list=" + list);
for(Customer c : list){
System.out.println(c.getUsername() + "\t" + c.getPassword()
+ "\t" + c.getEmail() + "\t" + c.getScore()
+ "\t" + c.getSalesTotal() + "\t" + c.getComment());
}
}

@Test
public void testQueryCustomerAll() {
List<Customer> list = (List<Customer>) customerDao.queryCustomerAll();
for(Customer c : list){
System.out.println(c.getUsername() + "\t" + c.getPassword()
+ "\t" + c.getEmail() + "\t" + c.getScore()
+ "\t" + c.getSalesTotal() + "\t" + c.getComment());
}
}

@Test
public void testDelete() {
// System.out.println(customerDao);
customerDao.delete("DDD");
}

}




Isnotsuitable 2011-05-27
  • 打赏
  • 举报
回复
你是在什么情况下出现这个错误的,能写具体点吗
回头不看 2011-05-27
  • 打赏
  • 举报
回复
CustomerDaoTest 把这个文件贴出来吧 不然不懂 java.lang.ClassNotFoundException: org.hibernate.MappingException
不过从这个看的话 估计是映射文件没配置正确
用户注册和登录是每个系统的必须存在的一部分,基于Dwr+Struts2+Spring+Hibernate写了一个用户登录注册系统。   其中用Dwr去进行用户注册的用户是否存在的验证。   全部业务控制交由Spring去进行处理。事务处理也交由Spring去管理。   压缩文件中不包含Jar文件(由于全部的Jar将近12M,不能全部上传),所用到的Jar目录为,工程中再也不会出现由于MyEclipse自动整合而出现的大量Jar文件 : Java代码 1. //如果不用,启动时不会出错,但使用Dwr时,会抛出异常:java.lang.NoClassDefFoundError: antlr/ANTLRException 2. antlr-2.7.2.jar  3. 4. //如果不用此包,在启动时会抛出: nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type 5. asm.jar 6. 7. // 如果不用此包,在启动时抛 出:nested exception is java.lang.NoClassDefFoundError: org/aspectj /weaver /reflect/ReflectionWorld$ReflectionWorldException 8. aspectjweaver.jar 9. 10. //如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter 11. cglib-2.1.3.jar 12. 13. //如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap 14. commons-collections-3.1.jar 15. 16. //这个似乎可以不用的 17. commons-fileupload-1.2.1.jar 18. 19. //这个就不用说啦,几乎所有框架都要使用的 20. commons-logging-1.0.4.jar 21. 22. //如果不用此包会抛出:java.lang.NoClassDefFoundError: org/dom4j/DocumentException 23. dom4j-1.6.1.jar 24. 25. //dwr必须 26. dwr.jar 27. 28. 29. //不用此包,在启动时招聘:java.lang.NoClassDefFoundError: javax/transaction/TransactionManager 30. jta.jar 31. 32. //Mysql JDBC驱动 33. mysql-connector.jar 34. 35. //Hibernate必须使用,注意此包是包含全部的。 36. hibernate3.jar 37. 38. //Spring整体包 39. spring.jar 40. 41. //struts2必须 42. freemarker-2.3.8.jar 43. //struts2必须 44. ognl-2.6.11.jar 45. //struts2核心包 46. struts2-core-2.0.11.2.jar 47. //struts2整合Spring插件 48. struts2-spring-plugin-2.0.11.2.jar 49. //struts2必须 50. xwork-2.0.5.jar   数据库设计(使用MySql数据库): Java代码 1. create table user 2. ( 3. id varchar(32) not null, 4. userName varchar(20), 5. password varchar(20), 6. primary key(id) 7. ); 8. create table user_infor 9. ( 10. id varchar(32) not null, 11. user_id varchar(32), 12. name varchar(20), 13. email varchar(30), 14. sex char, 15. age int, 16. address varchar(300), 17. primary key(id) 18. ); 19. ALTER TABLE user_infor 20. ADD FOREIGN KEY(user_id) 21. REFERENCES user(id) 22. ON DELETE CASCADE; 由于没有包含全部的Jar文件,所以朋友需要把上面所述的Jar加载。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧