Gradle 找不到渐变液化酶更改日志文件

Gradle 找不到渐变液化酶更改日志文件,gradle,liquibase,build.gradle,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 '

在我们的项目中使用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

关于如何解决与类路径相关的问题,有什么帮助吗?

当前目录是否实际位于类路径中?通常,类路径被配置为包含“目标”输出目录,并且可能包含“src/main/resources”作为另一个类路径根


如果您使用
changeLogFile'db/dbchangelog master.xml'
,它是否有效?

我在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文件…

只需在src目录所在的位置添加一个类路径参数

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

我正在运行eclipse中的
gradleupdate
命令。但是,我的项目位于eclipse工作区(c:/workspace)的不同目录(c:/myproject)中
gradle update
在项目目录的eclipse外部的命令行中使用时效果良好。根据运行Liquibase的方式,Liquibase设置类路径的方式有所不同。默认情况下,命令行将当前目录与使用--classpath参数列出的任何其他目录一起用作类路径。Gradle可能只使用“src/main/resources”作为类路径,不包括项目目录。您应该做的是使用“db/dbchangelog master.xml”作为gradle中的changelog文件,当您从命令行运行时,包括--classpath=src/main/rsources参数,但这在eclipse中不起作用<代码>由以下原因引起:liquibase.exception.ChangeLogParseException:db/changelog-master.xml不存在您可能需要为类路径属性使用绝对路径,如--classpath=c:\myproject\src\main\resource如果只有一个liquibase文件,您的解决方法是好的。但是我有一个master.xml文件,其中包含多个include文件:
这仍然给了我与SAXException一样的
错误:src/main/resources/db/dbchangelog-1.0.xml不存在
@pondicherrywellow Hm。。。它应该有用。。。您的主xml中是否包含relativeToChangelogFile=“true”属性?比如: