我正在使用Flyway从Clojure中进行数据库迁移。我遇到的问题是,当我创建一个uberjar来部署我的应用程序时,Flyway找不到jar文件中的迁移。它在开发中运行良好,不需要将应用程序打包。我尝试了一系列不同的组合来将迁移sql文件添加到jar中。我已经解压了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文件的资源路径中,但仍然找不到它们。有什么想法吗?
发布于 2013-08-22 14:51:01
这是因为在2.3.2版本之前,leiningen生成的jars/uberjars中没有包含任何目录条目,所以ClassLoader#getResources("db/migration/")总是返回null。
将在leiningen 2.3.3中修复(问题#1303)。
发布于 2013-06-25 01:16:03
如果这会因为überjar而失败,我不会感到惊讶,因为目前在类路径扫描器中没有对此的显式支持。
请在问题跟踪器中提交增强请求。
https://stackoverflow.com/questions/17266432
复制相似问题