从JAR内部运行Liquibase。如何告诉它通过类路径(也在JAR中)而不是文件名中查找更改集?

时间:2016-03-22 18:30:27

标签: java scala jar classpath liquibase

我在我的Scala应用程序中使用Liquibase,该应用程序使用sbt assembly打包在JAR中。当使用本地文件路径提供更改日志位置时,一切正常。为了仅使用JAR进行部署,我希望它能够查看JAR内部。我怎么能这样做?

当前设置:

build.sbt包含"org.liquibase" % "liquibase-core" % "3.3.5"作为依赖项

执行命令

val liquibaseChangeLog: String = (from config) val liquibase = new liquibase.Liquibase(liquibaseChangeLog, resourceAccessor, liquibaseConnection) liquibase.update(new Contexts())

我想将liquibaseChangeLog设置为类似org/my_org/my_project/changelog.xml的类路径,但是我收到错误消息: Exception in thread "main" liquibase.exception.ChangeLogParseException: org/my_org/my_project/changelog.xml does not exist liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:100) liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:17)

查看此堆栈跟踪中的Liquibase源代码,我发现它明确需要一个文件。有没有办法查看JAR呢?

0 个答案:

没有答案