如何用Java制作便携式应用程序(jar + sqlite)?

时间:2014-02-15 08:56:52

标签: java eclipse sqlite jdbc

我用Eclipse创建了一个小型Java应用程序(是的,很小的,2个表单和一个SQLite数据库)。它在Eclipse中运行时有效。

我会尝试导出它,并使其成为一个便携式应用程序(并放入一个USB密钥),但没有任何作用。

这是连接数据库的代码:

DriverManager.getConnection("jdbc:sqlite:"+this.dbName);
DatabaseSQLite ConnBDD = new DatabaseSQLite("BDD/bdd.sqlite")

我必须改变什么?

这是Eclipse下的架构

[projects]
src
|-class
lib
|-sqlite-jdbc-3.7.2.jar
BDD
|-database.sqlite

1 个答案:

答案 0 :(得分:-1)

当我这样做时,我这样做了:

首先,将sqlite3.exe放入文件夹src / main / resources中 - 现在sqlite3.exe将作为资源文件放在jar文件中。然后,将sqlite3.exe(从JAR)复制到system32(如果它是未安装的Windows和sqlite):

// Copy file SQLite3 into /Windows/System32
try {
    // CopyFromJar just copies file from JAR archive into some directory
    CopyFromJar fileManager = new CopyFromJar();
    fileManager.copyFile(new File("C:\\Windows\\System32\\sqlite3.exe"), "/sqlite3.exe");
} catch (IOException e) {
    ErrorFrame.showException(e);
}

其次,将sqlite-jdbc添加为项目的依赖项。 最后,创建与数据库的连接:

// Path to database - if first time, then database.db will created in folder with program 
private static final String pathToDatabase = "jdbc:sqlite:database.db";

//..................

// Loading JDBC driver
Class.forName("org.sqlite.JDBC");

// Create connection
Connection con = DriverManager.getConnection(pathToDatabase);
Statement stat = con.createStatement();