首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Clojure Uberjar中找不到Flyway迁移

在Clojure Uberjar中找不到Flyway迁移
EN

Stack Overflow用户
提问于 2013-06-24 08:01:25
回答 2查看 440关注 0票数 2

我正在使用Flyway从Clojure中进行数据库迁移。我遇到的问题是,当我创建一个uberjar来部署我的应用程序时,Flyway找不到jar文件中的迁移。它在开发中运行良好,不需要将应用程序打包。我尝试了一系列不同的组合来将迁移sql文件添加到jar中。我已经解压了jar,所有的迁移都在那里,我不确定是什么问题。

代码语言:javascript
复制
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文件的资源路径中,但仍然找不到它们。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-22 14:51:01

这是因为在2.3.2版本之前,leiningen生成的jars/uberjars中没有包含任何目录条目,所以ClassLoader#getResources("db/migration/")总是返回null。

将在leiningen 2.3.3中修复(问题#1303)。

票数 1
EN

Stack Overflow用户

发布于 2013-06-25 01:16:03

如果这会因为überjar而失败,我不会感到惊讶,因为目前在类路径扫描器中没有对此的显式支持。

请在问题跟踪器中提交增强请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17266432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档