Liquibase changelog不存在 - ChangeLogParseException

时间:2018-05-27 07:55:17

标签: java maven java-ee liquibase liquibase-hibernate

我正在尝试在我的JEE + WildFly应用程序中启动liquibase。 启动AS时,liquibase会抛出ChangeLogParseException:

09:41:40,602 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0021: Deploy of deployment "bets.war" was rolled back with the following failure message: 
{
    "WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host./bets" => "java.lang.RuntimeException: java.lang.RuntimeException: liquibase.exception.ChangeLogParseException: :classpath/WEB-INF/db-changelog.xml does not exist
    Caused by: java.lang.RuntimeException: java.lang.RuntimeException: liquibase.exception.ChangeLogParseException: :classpath/WEB-INF/db-changelog.xml does not exist
    Caused by: java.lang.RuntimeException: liquibase.exception.ChangeLogParseException: :classpath/WEB-INF/db-changelog.xml does not exist
    Caused by: liquibase.exception.ChangeLogParseException: :classpath/WEB-INF/db-changelog.xml does not exist"},

Liquibase params在web.xml中设置:

<!-- liquibase auto startup -->

<context-param>
    <param-name>liquibase.changelog</param-name>
    <param-value>:classpath/WEB-INF/db-changelog.xml</param-value>
</context-param>

<context-param>
    <param-name>liquibase.datasource</param-name>
    <param-value>java:jboss/datasources/BetsDS</param-value>
</context-param>

<context-param>
    <param-name>liquibase.onerror.fail</param-name>
    <param-value>true</param-value>
</context-param>

<context-param>
    <param-name>liquibase.contexts</param-name>
    <param-value>production</param-value>
</context-param>

<listener>
    <listener-class>liquibase.integration.servlet.LiquibaseServletListener</listener-class>
</listener>

结构如下:

enter image description here

在SO中查看主题,db-changelog在.war包中: Unpacked war package

尝试将liquibase.changelog值重命名为WEB-INF / db-changelog.xml和/WEB-INF/db-changelog.xml,仍然相同。

1 个答案:

答案 0 :(得分:1)

已经弄清楚了。 将db-changelog移动到main / resources / META-INF并将param设置为

App1

现在一切正常:

<param-value>META-INF/db-changelog.xml</param-value>