Включить все в databaseChangeLog не работает при запуске через Maven - PullRequest
0 голосов
/ 03 мая 2020

У меня есть этот основной журнал изменений:

databaseChangeLog:
  - includeAll:
      path: db/changelog/changes/

Когда тесты проходят через intellij, все проходит гладко, но когда я пытался запустить через maven, он завершается с ошибкой:

    at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:83)
    at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217)
    at liquibase.Liquibase.update(Liquibase.java:190)
    at liquibase.Liquibase.update(Liquibase.java:179)
    at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:366)
    at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:314)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
    ... 82 common frames omitted
Caused by: liquibase.exception.SetupException: Could not find directory or directory was empty for includeAll 'db/changelog/changes/'

Когда я включаю файлы журнала изменений один за другим, например

databaseChangeLog:
  - include:
      file: db/changelog/changes/001-20200503_1300-Initial.yml
  - include:
      file: db/changelog/changes/liquibase-diff-changeLog.yml

, все идет гладко, как intellij, так и maven. Вот мои плагины:

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>org.mapstruct</groupId>
                                <artifactId>mapstruct-processor</artifactId>
                                <version>${mapstruct.version}</version>
                            </path>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                                <version>${lombok.version}</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${maven-war-plugin.version}</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <argLine>-Dfile.encoding=UTF-8</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.liquibase</groupId>
                    <artifactId>liquibase-maven-plugin</artifactId>
                    <version>${liquibase-maven-plugin.version}</version>
                    <configuration>
                        <propertyFileWillOverride>true</propertyFileWillOverride>
                        <propertyFile>liquibase.properties</propertyFile>
                        <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-starter-web</artifactId>
                            <version>${spring-boot.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-orm</artifactId>
                            <version>${spring.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.liquibase.ext</groupId>
                            <artifactId>liquibase-hibernate5</artifactId>
                            <version>${liquibase-hibernate5.version}</version>
                        </dependency>
                    </dependencies>
                    <goals>
                        <goal>update</goal>
                    </goals>
                </plugin>
            </plugins>
        </pluginManagement>

и liquibase.properties

url= jdbc:postgresql://localhost:5432/doctor-service
username= verality
password= verality
driver= org.postgresql.Driver
changeLogFile=db/changelog/db.changelog-master.yaml
diffChangeLogFile=src/main/resources/db/changelog/changes/liquibase-diff-changeLog.yml
outputChangeLogFile=src/main/resources/db/changelog/changes/liquibase-new-changeLog.yml
referenceUrl=hibernate:spring:io.happyharbor.verality?dialect=org.hibernate.dialect.PostgreSQLDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

Я попытался удалить плагин surefire, но различий не было, поэтому кажется, что mavel-compile- плагин должен взять на себя вину. Обратите внимание, что эта проблема проявляется только при запуске теста через Maven. Если я развернусь, все снова пройдет гладко. Кажется, что это было известно в более ранних версиях, но это должно было быть исправлено сейчас. Чего мне не хватает?

...