java - Packed Jar 文件中不存在数据库文件
问题描述
我有一个使用 MS 访问作为数据库的 JavaFX 项目,在 IntelliJ 中创建可执行 JAR 后,在 CMD 中运行 jar 时,我得到以下异常
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.x.x given file does not exist: resource\Account_Record.accdb
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:231)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
这表明我的以下操作无法访问数据库文件:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
conn = DriverManager.getConnection("jdbc:ucanaccess://resource//Account_Record.accdb);
我检查了 Jar 文件,是的,里面有“Account_Record.accdb”,在 IntelliJ IDE 中运行 JAR 文件时,我没有收到任何错误,但无法让它独立!
解决方案
UcanAccess 仅在文件系统中查找数据库,您必须通过自己的代码提取它
推荐阅读
- javascript - 来自 fetch 的车把和 JSON 数据
- c++ - 我遇到了错误的访问问题
- user-permissions - 重建关系表与其他表的关系是否合理?
- java - 将附件上传到 azure devops [REST API]
- wpf - 如何以编程方式从 DataGridCheckBoxColumn 获取绑定表达式
- sql - 错误是期望的列数少于返回的列数
- google-sheets - Google表格中的查询公式未评估整个列
- flutter - Flutter:当我热重载我的提供者时创建新对象
- python - 这如何适用于 Python 中的乘法?
- javascript - 如何在不停止 Python 函数的情况下向 JS 发送返回值