sqlite - 在可执行 jar 中包含 Sqlite 数据库
问题描述
我正在尝试在可执行 jar 中包含和使用 sqlite 文件。
maven 程序集插件用于创建 jar。
项目树:
+---src
+---main
+---java
| \---com
| \---unreal
| \---vrcmodupdater
| \---VRCModUpdater(Main)
\---resources
\---mods.sqlite
连接数据库的代码:
Connection connection = DriverManager.getConnection("jdbc:sqlite:src/main/resources/mods.sqlite");
结果是
path to 'src/main/resources/mods.sqlite': 'C:\Program Files (x86)\Steam\steamapps\common\VRChat\Mods\src' does not exist
Connection connection = DriverManager.getConnection("jdbc:sqlite::resource:src/main/resources/mods.sqlite");
结果是
resource src/main/resources/mods.sqlite not found: java.net.MalformedURLException: no protocol: src/main/resources/mods.sqlite
在创建这篇文章之前,我尝试了这些事情:
我是否必须将文件添加到 maven-assembly-plugin,还是我错过了其他东西?
解决方案
推荐阅读
- flutter - 可拖动对象无法在 DragTarget 小部件颤动中移动
- java - 如何避免过时的元素引用:当我使用命令更改页面时,元素未附加到页面文档
- ios - 在 Azure DevOps 管道上为 Flutter Build 签署 iOS ipa 时出错
- python - 删除不是二元组或三元组的关键字(Yake)
- c++ - 根据目标修改makefile中的INCS?
- gnuplot - 标记使用 gnuplot 绘制的垂直线
- flutter - 将一长串 Widget 分成多个页面
- javascript - React 测试库 - 未包含在 act() 错误中
- c++ - Rust 没有使用 LTO 优化 C++ 函数的 C 包装器
- go - 如何获取切片的元素类型?