将数据库嵌入到 Jar 文件中

Embedded Database into Jar File

在过去的几天里,我一直在尝试让我的 Derby 数据库在我的 jar 文件中被访问。这是我的连接 class 的样子:

    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;
        }
    }
}

此外,这是我的项目资源管理器的屏幕截图:

当我在 eclipse 中时,一切正常,我的程序按预期运行,我的 GUI 更新了数据库。但是当我把我的程序变成一个 jar 文件时,它说它找不到我的数据库 EmployeeInfo(注意:Database.jar 是 EmployeeInfo 数据库)。最后一件事,当我在另一台机器上尝试 jar 文件时,它还指出找不到数据库。

最好解释一下为什么会出现这种情况并进行任何修复! -谢谢, 亚伦:)

好吧,我最终找到了解决方法:)。我必须将嵌入式 derby 数据库文件与 derby jar 一起放入一个文件夹中,我的 jar 文件包含我的项目,一切都运行得很好!