如何为sbt-liquibase插件添加snakeyaml依赖?
解决sbt-liquibase解析YAML变更日志缺少snakeyaml依赖的问题
问题出在你把snakeyaml依赖加错了地方——sbt-liquibase是sbt插件,它运行在sbt的构建类路径中,和项目应用代码的类路径完全分开。你之前尝试的compilerPlugin或者项目的libraryDependencies都不会把依赖加到插件能访问到的路径里。
正确的做法是在plugins.sbt中直接添加snakeyaml到插件的类路径:
// plugins.sbt addSbtPlugin("com.permutive" % "sbt-liquibase" % "1.2.0") // 添加YAML解析依赖,版本可选择兼容Liquibase的最新稳定版 libraryDependencies += "org.yaml" % "snakeyaml" % "1.33"
不需要修改build.sbt里的配置,因为项目应用本身不需要这个依赖。
原理很简单:plugins.sbt中的libraryDependencies是用来配置sbt插件自身的依赖环境的,这样sbt-liquibase插件在执行时就能加载到snakeyaml,从而正常解析YAML格式的变更日志。
修改后重新运行sbt liquibaseUpdate,应该就能解决找不到YAML解析器的错误了。
内容的提问来源于stack exchange,提问作者Dexter
相关产品推荐
相关产品推荐

