Liquibase с Java 13: org.hibernate.boot.registry.classloading.spi.ClassLoadingException - PullRequest
2 голосов
/ 11 марта 2020

В основном я использую Liquibase для большинства моих Java проектов (по крайней мере, там, где необходима миграция БД), и он всегда работал на Java 8. У меня есть требование сейчас перенести существующий проект на Java 13 Проект компилируется с Java 8, а также с Java 13 (см. Конфигурацию ниже), однако плагин Liquibase Maven (mvn liquibase: diff) выдает исключение ClassLoadingException:

org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [com.mypackage.TestEntity]: Could not load requested class : com.mypackage.TestEntity

вот конфигурация плагина в моем POM-файле:

<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>${liquibase.maven.plugin.version}</version>
    <configuration>
        <propertyFile>src/main/resources/db-migrations/liquibase/liquibase.properties</propertyFile>
        <changeLogFile>src/main/resources/db-migrations/liquibase/db-changelog-master.xml</changeLogFile>
        <diffChangeLogFile>${changeset.output.dir}/${timestamp} - ${desc}.xml</diffChangeLogFile>
        <logging>info</logging>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.liquibase.ext</groupId>
            <artifactId>liquibase-hibernate5</artifactId>
            <version>${liquibase-hibernate5.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>${springboot.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>${validation-api.version}</version>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>${javassist.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>${jaxb.api.version}</version>
        </dependency>
    </dependencies>
</plugin>

и liquibase.properties:

url=jdbc:postgresql://localhost:5432/user_registrations
username=postgres
password=somepwd
driver=org.postgresql.Driver
referenceUrl=hibernate:spring:com.mypackage?dialect=org.hibernate.dialect.PostgreSQL9Dialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

Как я уже упоминал в начале, сборка Java 13 не делает t работа:

<maven.compiler.release>13</maven.compiler.release>
<java.version>13</java.version>

Все зависимости имеют последнюю версию.

Есть идеи, что может быть проблемой здесь? Спасибо за любой вклад ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...