如何解决如何在 sbt 项目中使用 slick 从 jars 加载二进制 db 文件
我正在为我的团队开发一个测试包。我使用了 Scala 和 sbt(sbt 原生打包器)。
在这个包中,我想包含一个二进制 Sqlite db 文件 (data.db
) 来提供一些示例数据。但是,使用我的包的客户端无法加载此数据文件。
目前,我的项目结构是:
└── testkit
└── src
└── main
├── resources
| └── data.db // binary sqlite database file
└── scala
└── Sample.scala
在 Sample.scala
中,我使用以下命令连接到数据库:
import slick.jdbc.JdbcBackend.Database
var url = getClass.getResource("/data.db").getFile
if (url.startsWith("file:/")) {
url = url.drop(6)
}
val conn = Database.forURL("jdbc:sqlite:" + url,prop = Map.empty[String,String])
这在运行项目本身时有效。但是,当我发布此文件时,网址变为:
/path/to/testkit_2.12/0.0.1/jars/testkit_2.12.jar!/data.db
Slick 无法加载此文件。
非常感谢您的建议。
解决方法
谢谢大家,看来我会遵循评论中的建议并改用临时文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。