Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 弹簧靴不';无法识别mvn liquibase cli更改,反之亦然_Maven_Spring Boot_Liquibase - Fatal编程技术网

Maven 弹簧靴不';无法识别mvn liquibase cli更改,反之亦然

Maven 弹簧靴不';无法识别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

我面临着spring boot和mvn liquibase的问题。 当我使用提交更改时,我能够通过标记更新和回滚liquibase

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的内容,并为我们提供更多线索