0
过去几天,我一直试图让我的Derby数据库在我的jar文件中被访问。这里是我的连接类的样子:将嵌入式数据库转换为Jar文件
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
public class DBConnection
{
public static final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
public static final String JDBC_URL = "jdbc:derby:EmployeeInfo";
public static Connection dbConnector()
{
try
{
Class.forName(DRIVER).newInstance();
Connection conn = DriverManager.getConnection(JDBC_URL);
JOptionPane.showMessageDialog(null, "Connection successfull");
return conn;
}catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
return null;
}
}
}
而且,这里是一个什么我的项目资源管理器看起来像一个截图:当我在日食
一切正常,我的程序运行正常使用我的GUI更新数据库。但是,一分钟我做我的程序一个jar文件它说它找不到我的数据库EmployeeInfo(注意:Database.jar是EmployeeInfo数据库)。最后一件事,当我在另一台机器上尝试jar文件时,它也声明它找不到数据库。
为什么这是与任何修复一起探讨将是伟大的! -Thanks, Aaron :)
所有.jar文件条目应视为只读。如果要修改条目,请将其复制到临时文件并修改该文件。 – VGR
当你说临时文件时,这意味着什么? – Aaron
如果您只需要修改的数据库用于程序的单次运行,则可以将数据库从Class.getResourceAsStream复制到使用Files.createTempFile创建的文件中。如果您需要对数据库所做的更改是永久性的(以便后续运行的程序可以读取它们),请为该文件选择一个一致的位置,如System.getProperty(“user.home”)。 – VGR