zoukankan      html  css  js  c++  java
  • SSH框架学习开发第一个集合项目经验01

    在编写junit调用hibernate进行数据库操作会提示以下错误

     1 java.lang.ExceptionInInitializerError
     2     at com.sisi.registration.service.UserManager.exists(UserManager.java:11)
     3     at com.sisi.registration_service.UserManagerTest.testExists(UserManagerTest.java:17)
     4     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     5     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     6     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     7     at java.lang.reflect.Method.invoke(Method.java:597)
     8     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
     9     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    10     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    11     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    12     at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
    13     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
    14     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
    15     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    16     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    17     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    18     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    19     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    20     at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    21     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    22     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    23     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    24     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    25     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    26     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    27 Caused by: org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
    28     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1542)
    29     at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1035)
    30     at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
    31     at org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
    32     at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
    33     at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:64)
    34     at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
    35     at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1011)
    36     at com.sisi.registration.util.HibernateUtil.<clinit>(HibernateUtil.java:9)
    37     ... 25 more
    38 Caused by: org.dom4j.DocumentException: hibernate.sourceforge.Net Nested exception: hibernate.sourceforge.Net
    39     at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    40     at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1532)
    41     ... 33 more

    问题根本:因为hibernate的两个配置文件分别都会默认去配置文件上面两个加粗的网站去找,所以当使用hibernate进行数据库操作时,如果你的

    网络环境不好或者没联网,此时配置文件无法访问指定的dtd验证文件,所以才会出现xml无法解析的异常

    解决办法:

    1.在使用hibernate的项目下创建文件夹将hibernate-configuration-3.0.dtd文件和hibernate-mapping-3.0.dtd两个文件放在里面

    2.并且把hibernate.cfg.xml文件头部分改为

    1 <?xml version='1.0' encoding='UTF-8'?>
    2 <!DOCTYPE hibernate-configuration PUBLIC
    3           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    4           "dtd/hibernate-configuration-3.0.dtd">
    5           
    6 <!-- Generated by MyEclipse Hibernate Tools.   这里dtd是我创建的文件名                -->

    下载地址

    hibernate-mapping-3.0.dtd  :  http://download.csdn.net/detail/congwiny/7047309

    hibernate-configuration-3.0.dtd  :  http://download.csdn.net/download/dielianhua813/4070917

    最后重启myeclipse调用junit,OK了!

  • 相关阅读:
    时间函数的查询-thinkphp
    关于回退的解决
    get post的区别
    日期函数及其查询
    asp MVC的一些tip总结
    asp.net mvc中cookie的完整理解
    解决.net移除dll文件以后依旧报错
    ASP.net MVC redis完整示例(含集合,哈希,sortedset)
    JavaScript实现图的深度广度优先遍历
    JavaScript实现二叉查找树
  • 原文地址:https://www.cnblogs.com/sisi-job/p/6633169.html
Copyright © 2011-2022 走看看