我正在使用Flyway从Clojure中进行数据库迁移。问题 我有的是,当我制作一个uberjar来部署我的应用程序时,Flyway不能 找到jar文件中的迁移。它运作良好 开发,没有打包应用程序。我尝试了一堆 将迁移sql文件添加到jar的不同组合。我有 拉开罐子,所有的迁移都在那里,我不知道是什么 问题是。
Exception in thread "main" com.googlecode.flyway.core.api.FlywayException: Unable to determine URL for classpath location: db/migration
我正在使用flyway版本2.1.1,现在我的迁移是在src / db / migration中。我尝试将src /添加到project.clj文件中的资源路径,但它仍然找不到它们。有什么想法吗?
答案 0 :(得分:1)
发生这种情况是因为leiningen生成的jar / uberjars中没有包含目录条目直到版本2.3.2,所以ClassLoader#getResources("db/migration/")
总是返回null。
将在leiningen 2.3.3(问题#1303)中修复。
答案 1 :(得分:0)
如果由于überjar而失败,我不会感到惊讶,因为目前在类路径扫描程序中没有明确的支持。
请在问题跟踪器中提交增强请求。