Hibernate liquibase.exception.DatabaseException:java.lang.ClassNotFoundException

Hibernate liquibase.exception.DatabaseException:java.lang.ClassNotFoundException,hibernate,maven,liquibase,jhipster,Hibernate,Maven,Liquibase,Jhipster,我是Liquibase和JHipster的新手,在使用maven插件生成差异时遇到了一些问题 运行mvn liquibase时,我遇到以下错误:diff-e-X 我的pom的相关部分是: <plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId>

我是Liquibase和JHipster的新手,在使用maven插件生成差异时遇到了一些问题

运行
mvn liquibase时,我遇到以下错误:diff-e-X

我的pom的相关部分是:

<plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>${liquibase.version}</version>
            <dependencies>
                <dependency>
                    <groupId>org.javassist</groupId>
                    <artifactId>javassist</artifactId>
                    <version>3.18.2-GA</version>
                </dependency>
                <dependency>
                    <groupId>org.liquibase.ext</groupId>
                    <artifactId>liquibase-hibernate4</artifactId>
                    <version>${liquibase-hibernate4.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-data-jpa</artifactId>
                    <version>${project.parent.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                    <version>5.2.1.Final</version>
                </dependency>

            </dependencies>
            <configuration>
                <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
                <diffChangeLogFile>
                    src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml
                </diffChangeLogFile>
                <driver>org.postgresql.Driver</driver>
                <url>jdbc:postgresql://localhost/shiftwork</url>
                <defaultSchemaName/>
                <username>postgres</username>
                <password/>
                <referenceUrl>hibernate:spring:com.teammachine.staffrostering.domain?dialect=org.hibernate.dialect.PostgreSQL94Dialect&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>
                <verbose>true</verbose>
                <logging>debug</logging>
            </configuration>
        </plugin>
        <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
        <diffChangeLogFile>
            src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml
        </diffChangeLogFile>
        <driver>org.postgresql.Driver</driver>
        <url>jdbc:postgresql://localhost/myApp</url>
        <defaultSchemaName/>
        <username>postgres</username>
        <password/>
        <referenceUrl>hibernate:spring:com.myapp.domain?dialect=&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>
        <verbose>true</verbose>
        <logging>debug</logging>
    </configuration>
</plugin>

问题是您在
liquibase maven插件
配置的内部将
方言
属性留空。插件,当然,失败了。到实现用于Hibernate的自定义方言的类

<referenceUrl>hibernate:spring:com.myapp.domain?dialect=&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>
<!--                                            ^^^^^^^^ -->


在插件依赖项中,您还依赖于Hibernate的冲突版本:
liquibase-hibernate4
,但您依赖于Hibernate Core 5.2.1.Final和。因此,您需要删除对
hibernate core

@Magick的依赖关系,这是由hibernate版本冲突引起的另一个错误。最好发布一个与此相关的新问题,因为它实际上是不相关的。在这个新问题中,请务必发布Liquibase和Hibernate的确切版本。由于Liquibase本身依赖于hibernate 4,因此我将尝试删除对
hibernate核心的依赖。
<referenceUrl>hibernate:spring:com.myapp.domain?dialect=&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>
<!--                                            ^^^^^^^^ -->
<referenceUrl>hibernate:spring:com.myapp.domain?dialect=org.hibernate.dialect.PostgreSQL94Dialect&amp;hibernate.ejb.naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy</referenceUrl>