У меня есть этот основной журнал изменений:
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. Если я развернусь, все снова пройдет гладко. Кажется, что это было известно в более ранних версиях, но это должно было быть исправлено сейчас. Чего мне не хватает?