liquibase.exception.ChangeLogParseException:ChangeLogFile不存在

时间:2018-01-25 23:09:59

标签: java liquibase

public static void main(String[] args) throws Exception {
    //execute("jdbc:postgresql://localhost:5432/JAVA_Test", "Admin", "123456", "org.postgresql.Driver");
    execute("jdbc:jtds:sqlserver://localhost:5432/Liquibase_JAVA", "sa", "123456!", "net.sourceforge.jtds.jdbc.Driver");
}

public static void execute(String url, String userName, String password, String driver) throws Exception  {
    DatabaseConnection dbConnection = new DatabaseConnection(url, driver, userName, password);
    Connection conn = dbConnection.getConnection();
    Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(conn));
    String changeLog = "/job_executor/liquibasechangelog/databaseChangeLog.xml";
    Liquibase liquibase = new Liquibase(changeLog, new FileSystemResourceAccessor(), database);
    liquibase.update(null);
    conn.close();
}

我的项目中有我的changeLogFile。我收到一个错误,有点奇怪,changeLogFile.xml不存在。

任何人都可以帮助我,谢谢

2 个答案:

答案 0 :(得分:0)

很可能您的更改日志文件不存在:

/job_executor/liquibasechangelog/databaseChangeLog.xml

但是那里:

job_executor/liquibasechangelog/databaseChangeLog.xml

请注意第二条路径中的/缺失,因此它是相对的,而不是绝对的。

答案 1 :(得分:0)

我修复了它,通过将liquibasechangelog文件夹(我的xml文件所在的位置)添加到构建路径,然后仅通过文件名而不是文件名路径引用它

就像这样

  

String changeLog =“databaseChangeLog.xml”;

谢谢@DavidX @MichalRorat