所以首先我之前看到过这个问题 - 我查看了以前的答案并尝试用它来解决我的问题,但是我做不到。
我正在创建一个图书馆系统,并为注册类和登录类编写了代码,并为数据库创建了一个类。当我尝试运行该程序时,我收到一条消息,指出没有找到合适的驱动程序,后跟数据库的文件路径。这是我的数据库类:
import java.sql.*;
import javax.swing.JOptionPane;
public class javaConnect {
Connection conn;
public static Connection ConnecrDB() {
try {
Class.forName("org.sqlite.JDBC");
Connection conn=DriverManager.getConnection("jdbc.sqlite:process_f/Users/conorcurtis/Desktop/UNI/GCU IP Library/LibraryProject.sqliteiles");
return conn;
} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
return null;
}
我完全不知道该去哪里,所以任何帮助将不胜感激。谢谢!
这里可能发生的情况是您的驱动程序不在您的类路径中。您当前的问题是您正在动态加载驱动程序但未找到它。
您可以通过添加到导入指令来在调试时将其转变为编译时错误:
import org.sqlite.JDBC;
不同之处在于 import 指令是编译时依赖项,而 Class.forName 调用则建立运行时依赖项。通常我们这样做是为了可以更改使用哪些数据库而无需重新编译(但这里您的连接字符串是硬连线的,因此没有必要动态执行此操作)。例如,我们可以允许配置连接字符串,然后动态加载适当的驱动程序。
因此,现在,添加该导入行并解决找不到该类的原因。您很可能遇到构建或类路径问题。例如,如果您正在使用 Maven,您可能需要将其添加到那里。
编译完成后,您可以删除导入指令并将错误恢复为运行时错误。
但基本清单是:
- 图书馆可以用吗?
- 是否在搜索的路径中?
- 您是否有自动依赖项管理工具(如 Maven)缺少它作为依赖项?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)