gpt4 book ai didi

java - 如何用Java制作一个可移植应用程序(jar+sqlite)?

转载 作者:行者123 更新时间:2023-12-01 21:30:44 26 4
gpt4 key购买 nike

我用 Eclipse 制作了一个小型 Java 应用程序(是的,很小,有 2 个表单和一个 SQLite 数据库)。当我在 Eclipse 中运行它时它可以工作。

我会尝试导出它,并使其成为可移植应用程序(并放入 USB key ),但没有任何效果。

这是我连接数据库的代码:

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

最佳答案

当我这样做时,我是这样做的:

首先,将 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();

关于java - 如何用Java制作一个可移植应用程序(jar+sqlite)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21795451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com