无法找到Gradle Liquibase更改日志文件

时间:2014-11-28 11:46:51

标签: gradle liquibase build.gradle

在我们的项目中使用gradle-liquibase插件解决所有依赖项。

我有Gradle liquibase插件建议的以下liquibase任务:

liquibase {
   activities {
   main {      
      changeLogFile 'src/main/resources/db/dbchangelog-master.xml'
      url 'jdbc:mysql://localhost:3306/test'
      username 'XXX'
      password 'XXX'
     } 
  }
 runList = 'main'
}

但遇到了liquibase未识别的changeLogFile问题,尽管日志文件位于项目类路径目录(src / main / resources /)

错误:

Caused by: liquibase.exception.ChangeLogParseException:
src/main/resources/dbchangelog/db.changelog-master.xml does not exist

有关如何解决此类路径相关问题的任何帮助?

3 个答案:

答案 0 :(得分:6)

只需在src目录

中添加一个classpath参数
var promise = Cesium.sampleTerrain(terrainProvider, 14, positions);
Cesium.when(promise, function(updatedPositions) {
    var cartesianPositions = Cesium.Ellipsoid.WGS84.cartographicArrayToCartesianArray(updatedPositions);
    var sample = new Cesium.SampledPositionProperty();
    sample.setInterpolationOptions({
        interpolationDegree : 3,
        interpolationAlgorithm : Cesium.HermitePolynomialApproximation
    });

    $(cartesianPositions).each(function(index, cartPosition) {
        var time = Cesium.JulianDate.addSeconds(start, index*10, new Cesium.JulianDate());
        sample.addSample(time, cartPosition);

    })

    var target = viewer.entities.add({
        position: sample,
          path: {
            resolution: 60,
            material:Cesium.Color.BLUE,
            width: 4,
            trailTime: 422*10,
            leadTime: 0
          }
    });

});

答案 1 :(得分:0)

当前目录实际上在您的类路径中吗?通常,您的类路径配置为包含" target"输出目录和可能的" src / main / resources"作为另一个类路径根。

如果您使用changeLogFile 'db/dbchangelog-master.xml'

,它是否有效

答案 2 :(得分:0)

我在使用gradle liquibase插件版本1.0.0时遇到了同样的问题并找到了解决方法...在你的例子中它会是这样的:

liquibase {
   activities {
   main {      
      changeLogFile "${this.rootDir}/src/main/resources/db/dbchangelog-master.xml"
      url 'jdbc:mysql://localhost:3306/test'
      username 'XXX'
      password 'XXX'
     } 
  }
 runList = 'main'
}

当你从eclipse运行gradle任务时 - 它真的试图在eclipse本身找到changelog文件......