休眠映射最近失败,并出现 SAX 解析器异常:必须声明元素"hibernate-mapping"



i newbie在这里。

我的故障排除是从一天到另一天,我无法部署我的项目。我已经恢复了此问题之前的所有修改,但没有成功,它仍然给新异常带来。

尚未修改冬眠模型,尚未修改数据库。

实际上我不知道发生了什么。

01-Jul-2019 09: 43: 07.243 SERIOUS [main] org.apache.catalina.core.StandardContext.listenerStart Exception when sending an initialized context event to the class listener instance [com.sun.faces.config.ConfigureListener ]
java.lang.RuntimeException: com.sun.faces.mgbean.ManagedBeanCreationException: The managerTdocumentFormenter property can not be defined for the managed bean catalogosBean
in com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:292)
Caused by: com.sun.faces.mgbean.ManagedBeanCreationException: The managerTdocumentFormenter property can not be defined for the managed bean catalogosBean
in com.sun.faces.mgbean.ManagedBeanBuilder $ BakedBeanProperty.set (ManagedBeanBuilder.java:615)
in com.sun.faces.mgbean.ManagedBeanBuilder.buildBean (ManagedBeanBuilder.java:133)
in com.sun.faces.mgbean.BeanBuilder.build (BeanBuilder.java:104)
in com.sun.faces.mgbean.BeanManager.createAndPush (BeanManager.java:409)
in com.sun.faces.mgbean.BeanManager.create (BeanManager.java:269)
in com.sun.faces.mgbean.BeanManager.create (BeanManager.java:256)
in com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:255)
... 41 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with the name 'sessionFactory' defined in the ServletContext resource [/WEB-INF/classes/resources/spring/config/Hibernate.xml]: invocation of the start method failed; the nested exception is org.hibernate.InvalidMappingException: the mapping document of an invalid mapping could not be parsed
in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1455)
in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:519)
in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:456)
in org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:294)
in org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:225)
in org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:291)
in org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:193)
in org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:567)
in org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:913)
in org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:464)
in org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:385)
in org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:284)
in org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:111)
in org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4663)
... 40 more
Caused by: org.hibernate.InvalidMappingException: The mapping document of an invalid mapping could not be parsed
in org.hibernate.cfg.Configuration.addInputStream (Configuration.java:502)
Caused by: org.xml.sax.SAXParseException; lineNumber: 5; column number: 20; The type of element "hibernate-mapping" must be declared.
in com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException (ErrorHandlerWrapper.java:203)

关于豆子在例外提及的,我有:

public class CatalogosBean implements java.io.Serializable {
    ...
    private transient TdocumentoParametroBo manejadorTdocumentoParamentro;
    ...
public TdocumentoParametroBo getManejadorTdocumentoParamentro() {
        return manejadorTdocumentoParamentro;
    }
    public void setManejadorTdocumentoParamentro(TdocumentoParametroBo manejadorTdocumentoParamentro) {
        this.manejadorTdocumentoParamentro = manejadorTdocumentoParamentro;
    }

我们在这里有一个非常相似的问题,但是有一个冬眠的逆向工程文件,而不是冬眠映射文件。在我们的情况下,自2018年11月以来,该文件本身就没有被修改,但上周下旬停止工作。在诊断我们的问题时,当我在构建中设置一些断点时,我发现Saxparserexception仅在XML Parser创建的错误记录器中返回的第一个错误。事实证明,文件中的每个XML元素都以相同类型的错误标记:

org.xml.sax.saxparseexception element type "hibernate-reverse-engineering" must be declared

解析器发现了498个错误,即使只有第一个错误。

在我们案件中解决该问题的是什么是在Hibernate.Reveng.xml文件中更改: <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd">

to

<!DOCTYPE hibernate-reverse-engineering SYSTEM "https://hibernate.org/dtd/hibernate-reverse-engineering-3.0.dtd" >

也就是说,我们从使用公共标识符转换为系统标识符,从HTTP更改为https。

原始表格(公共形式(是我们从以前的hibernate.org(jboss.org(文档(从Hibernate 3.2时范围内(获得的。新的是我们今天查看Hibernate反向工程的JBOSS文档。我猜是,您需要与Hibernate映射文件(Hibernate.xml或HBM.XML或您使用的任何名称(进行类似的更改,以至少使用HTTP代替HTTP,并可能将Doctype更改为:p> <!DOCTYPE hibernate-mapping SYSTEM https://hibernate.org/hibernate-mapping-3.0.dtd">

如果这无济于事,请尝试将您的Hibernate.xml文件添加到该问题(删除尽可能多的敏感信息之后(。

最新更新