Maven 弹簧靴不';无法识别mvn liquibase cli更改,反之亦然
我面临着spring boot和mvn liquibase的问题。 当我使用提交更改时,我能够通过标记更新和回滚liquibaseMaven 弹簧靴不';无法识别mvn liquibase cli更改,反之亦然,maven,spring-boot,liquibase,Maven,Spring Boot,Liquibase,我面临着spring boot和mvn liquibase的问题。 当我使用提交更改时,我能够通过标记更新和回滚liquibase mvn liquibase:update 然后用 mvn liquibase:rollback -Dliquibase.rollbackTag=0.0.0 不幸的是,当我使用liquibase:update提交更改时,我无法启动我的spring boot应用程序 org.springframework.beans.factory.BeanCreationExc
mvn liquibase:update
然后用
mvn liquibase:rollback -Dliquibase.rollbackTag=0.0.0
不幸的是,当我使用liquibase:update提交更改时,我无法启动我的spring boot应用程序
org.springframework.beans.factory.BeanCreationException:创建名为“liquibase”的bean时出错,该bean在类路径资源[org/springframework/boot/autoconfigure/liquibase/liquibseautoconfiguration$liquibseconfiguration.class]:调用init方法失败;嵌套异常为liquibase.exception.migrationfailedeexception:更改集类路径的迁移失败:db/changelog/changelog-0.0.1.xml::0.0.1::
这告诉我spring boot试图再次运行变更集
当我查看databasechangelog表时,有一个重复的条目具有不同的部署ID,这可能是问题所在吗
Ps:当我让Spring boot进行更新时,我可以运行应用程序,但不能通过CLI回滚:(
下面是我在pom.xml中的配置
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.6.3</version>
<configuration>
<driver>org.postgresql.Driver</driver>
<url>connection/url>
<username>user</username>
<password>password</password>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<rollbackTag>0.0.0</rollbackTag>
<changeLogFile>destination of rollback file</changeLogFile>
</configuration>
</plugin>
</plugins>
</build>
org.liquibase
liquibase maven插件
3.6.3
org.postgresql.Driver
连接/url>
用户
密码
假的
0.0.0
回滚文件的目标
在application.properties中
spring.liquibase.change log=classpath:db/changelog-master.xml
更新时spring.liquibase.test回滚=true
我猜changelog文件的标记是正确的,因为它在CLI中也不起作用
谢谢。我想maven中的类路径与springboot应用程序中的类路径不同。Liquibase计算类路径并将其存储在db中的某个属性中(我不知道它的名称).因此,当您使用maven准备db,然后运行应用程序时,文件的路径会有所不同,因此对于liquibase,这意味着类似于新的changelog文件
您可以通过向所有更改日志文件添加
logicalFilePath
属性来解决此问题。我也有同样的问题,我希望您能写更多关于此logicalFilePath的内容,并为我们提供更多线索