【发布时间】:2011-12-02 15:39:48
【问题描述】:
我有一个 Java 项目,它使用一个小型 SQLite 数据库。
现在我想创建一个可执行的 jar 文件,其中包含数据库文件和驱动程序 (sqlitejdbc-v056),以便拥有一个包含所有内容的包。
我的包结构如下:
Bank
|
|
+---src
| ...
|
+---bin
| ...
|
+---data
| bank_database.db
|
+---img
| ajax-refresh-icon.gif
|
+---doc
| Datenbankschema.uxf
|
\---resources
sqlitejdbc-v056.jar
我用这个小的 Java 类访问数据库:
package model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBHandle {
Connection conn;
public DBHandle() throws Exception {
Class.forName("org.sqlite.JDBC");
}
public Connection openConnection() throws SQLException {
conn = DriverManager.getConnection("jdbc:sqlite:data\\bank_database.db");
return conn;
}
public void closeConnection() throws SQLException {
if (!conn.isClosed()) {
conn.close();
}
}
}
如果我使用 Eclipse 导出管理器将所有这些东西打包到一个 jar 中并尝试执行它,它会为 JDBC 驱动程序抛出一个 ClassNotFoundException。
我该如何解决这个问题?
是否甚至可以将资源修改为与数据库有关的 jar?
【问题讨论】:
-
如果您将数据库文件放入 jar 中,您将无法在运行时更新它 - 您知道吗?
-
不,我不是 :-/ ... 看来我得重新审视我的概念了