问题描述
我有一个使用 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 只在文件系统中查找数据库,您必须通过自己的代码提取它