Java Hibernate无法执行解组

Java Hibernate无法执行解组,java,hibernate,jpa,liquibase,Java,Hibernate,Jpa,Liquibase,当我运行liquibase:diff-maven-goal时,我得到了这个异常UnmarshalException,我使用的是hibernate 5.4.10-Final pom.xml中的插件: <plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>4.0.0</versio

当我运行liquibase:diff-maven-goal时,我得到了这个异常UnmarshalException,我使用的是hibernate 5.4.10-Final
pom.xml
中的插件:

<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.0.0</version>
<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>3.0.0-M4</version>
    </dependency>
    <dependency>
        <groupId>org.liquibase.ext</groupId>
        <artifactId>liquibase-hibernate5</artifactId>
        <version>3.6</version>
    </dependency>
</dependencies>
<configuration>
    <propertyFile>src/main/resources/liquibase/liquibase.properties</propertyFile>
</configuration>

         </plugin>
我的
persistence.xml
文件:

`    <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">`
  <persistence-unit name="Model" transaction-type="JTA">
    <description>JTA persistence unit related to the datasource DataSource</description>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>MyProject_Model</jta-data-source>
    <mapping-file>Student-ORM.xml</mapping-file>
    <mapping-file>Subject-DataSource-ORM.xml</mapping-file>
    <mapping-file>Time-DataSource-ORM.xml</mapping-file>
    <mapping-file>Others-ORM.xml</mapping-file>
    <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
    <validation-mode>NONE</validation-mode>
    <properties>
      <property name="hibernate.ejb.cfgfile" value="hibernate_Model.cfg.xml"/>
    </properties>
  </persistence-unit>
</persistence>
我运行diff目标时遇到的例外情况:

Caused by: org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number -1 and column -1 in RESOURCE hibernate_Model.cfg.xml. Message: unexpected element (uri:"http://www.hibernate.org/xsd/orm/cfg", local:"hibernate-configuration"). Expected elements are <{}hibernate-configuration>
        at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:133)
        at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
        at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.mergeSettings(EntityManagerFactoryBuilderImpl.java:481)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:203)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
        at liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernateEjb3Database.java:169)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:66)
        at liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernateEjb3Database.java:158)
        at liquibase.ext.hibernate.database.HibernateEjb3Database.createEntityManagerFactoryBuilder(HibernateEjb3Database.java:85)
        at liquibase.ext.hibernate.database.HibernateEjb3Database.buildMetadataFromPath(HibernateEjb3Database.java:57)
        at liquibase.ext.hibernate.database.HibernateDatabase.buildMetadata(HibernateDatabase.java:143)
        at liquibase.ext.hibernate.database.HibernateDatabase.setConnection(HibernateDatabase.java:83)
        at liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation(DatabaseFactory.java:120)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:140)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:92)
        ... 30 more Caused by: javax.xml.bind.UnmarshalException
 - with linked exception: [com.sun.istack.SAXParseException2; unexpected element (uri:"http://www.hibernate.org/xsd/orm/cfg", local:"hibernate-configuration"). Expected elements are <{}hibernate-configuration>]
原因:org.hibernate.internal.util.config.ConfigurationException:无法在资源hibernate_Model.cfg.xml中的第1行和第1列执行解组。消息:意外元素(uri:)http://www.hibernate.org/xsd/orm/cfg,本地:“休眠配置”)。预期的要素是
位于org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:133)
位于org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
位于org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.mergeSettings(EntityManagerFactoryBuilderImpl.java:481)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl。(EntityManagerFactoryBuilderImpl.java:203)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl。(EntityManagerFactoryBuilderImpl.java:174)
位于org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
位于org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
位于liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernateEjb3Database.java:169)
在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:66)
位于liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernateEjb3Database.java:158)
位于liquibase.ext.hibernate.database.HibernateEjb3Database.createEntityManagerFactoryBuilder(HibernateEjb3Database.java:85)
位于liquibase.ext.hibernate.database.HibernateEjb3Database.buildMetadataFromPath(HibernateEjb3Database.java:57)
位于liquibase.ext.hibernate.database.HibernateDatabase.buildMetadata(HibernateDatabase.java:143)
位于liquibase.ext.hibernate.database.HibernateDatabase.setConnection(HibernateDatabase.java:83)
位于liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation(DatabaseFactory.java:120)
位于liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:140)
位于liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:92)
... 30多个原因:javax.xml.bind.UnmarshalException
-带链接的异常:[com.sun.istack.SAXParseException2;意外元素(uri:)http://www.hibernate.org/xsd/orm/cfg,本地:“hibernate配置”)。预期元素为]

尝试诊断这是否是hibernate vs.liquibase的问题。你能在命令行上运行liquibase吗?liquibase diff.错误看起来像是在hibernate_Model.cfg.xml中,可能是配置xml格式错误?
        <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- Echo the SQL to stdout -->
        <property name="show_sql">true</property>
        <!-- Set the current session context -->
        <property name="current_session_context_class">thread</property>
        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create-drop</property>
        <!-- dbcp connection pool configuration -->
        <property name="hibernate.dbcp.initialSize">5</property>
        <property name="hibernate.dbcp.maxTotal">20</property>
        <property name="hibernate.dbcp.maxIdle">10</property>
        <property name="hibernate.dbcp.minIdle">5</property>
        <property name="hibernate.dbcp.maxWaitMillis">-1</property>
        <mapping class="net.javaguides.hibernate.entity.Student" />
    </session-factory>
</hibernate-configuration>
Caused by: org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number -1 and column -1 in RESOURCE hibernate_Model.cfg.xml. Message: unexpected element (uri:"http://www.hibernate.org/xsd/orm/cfg", local:"hibernate-configuration"). Expected elements are <{}hibernate-configuration>
        at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:133)
        at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
        at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.mergeSettings(EntityManagerFactoryBuilderImpl.java:481)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:203)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
        at liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernateEjb3Database.java:169)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:66)
        at liquibase.ext.hibernate.database.HibernateEjb3Database$MyHibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernateEjb3Database.java:158)
        at liquibase.ext.hibernate.database.HibernateEjb3Database.createEntityManagerFactoryBuilder(HibernateEjb3Database.java:85)
        at liquibase.ext.hibernate.database.HibernateEjb3Database.buildMetadataFromPath(HibernateEjb3Database.java:57)
        at liquibase.ext.hibernate.database.HibernateDatabase.buildMetadata(HibernateDatabase.java:143)
        at liquibase.ext.hibernate.database.HibernateDatabase.setConnection(HibernateDatabase.java:83)
        at liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation(DatabaseFactory.java:120)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:140)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:92)
        ... 30 more Caused by: javax.xml.bind.UnmarshalException
 - with linked exception: [com.sun.istack.SAXParseException2; unexpected element (uri:"http://www.hibernate.org/xsd/orm/cfg", local:"hibernate-configuration"). Expected elements are <{}hibernate-configuration>]