Java中SQLite连接如何正确编写相对路径实现项目可共享
NetBeans Java项目SQLite相对路径配置方法
你之前使用的"jdbc:sqlite:/RoomBookingDatabase_V1.1.db"路径开头带有/,在SQLite JDBC的路径规则中,开头的/代表系统根目录,不属于相对路径写法,因此无法定位到你项目内的数据库文件。
方案1:基于项目工作目录的相对路径(适合开发阶段使用)
NetBeans运行Java项目时,默认工作目录为项目根目录(也就是文件夹结构里的214-project文件夹),你的数据库文件放在src/baby/pluto路径下,直接拼接对应相对路径即可:
Connection conn = DriverManager.getConnection("jdbc:sqlite:src/baby/pluto/RoomBookingDatabase_V1.1.db");
你可以先执行下面的代码打印当前工作目录,确认路径拼接是否正确:
System.out.println(System.getProperty("user.dir"));
方案2:通过类加载器动态获取路径(适合打包分发场景)
如果需要把项目打包后共享给其他人,推荐使用类加载器动态读取同包下的资源文件,避免路径写死:
// 若当前方法是静态方法,可以换成 你的类名.class.getResource(...) URL dbUrl = getClass().getResource("RoomBookingDatabase_V1.1.db"); if (dbUrl == null) { throw new RuntimeException("未找到数据库文件,请检查文件存放位置"); } String dbPath = dbUrl.getPath(); Connection conn = DriverManager.getConnection("jdbc:sqlite:" + dbPath);
内容的提问来源于stack exchange,提问作者saucypanda
相关产品推荐
相关产品推荐

