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