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

如何用Java制作一个可移植的应用程序(jar+;sqlite)?,java,eclipse,sqlite,jdbc,Java,Eclipse,Sqlite,Jdbc,我用Eclipse制作了一个微型Java应用程序(是的,微型,2个表单和一个SQLite数据库)。当我在Eclipse中运行它时,它就工作了 我将尝试导出它,并使其成为一个便携式应用程序(并放入usb密钥),但没有任何效果 以下是我连接数据库的代码: DriverManager.getConnection("jdbc:sqlite:"+this.dbName); DatabaseSQLite ConnBDD = new DatabaseSQLite("BDD/bdd.sqlite") // P

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

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

以下是我连接数据库的代码:

DriverManager.getConnection("jdbc:sqlite:"+this.dbName);
DatabaseSQLite ConnBDD = new DatabaseSQLite("BDD/bdd.sqlite")
// 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();
我必须换什么

这是我在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):

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

DriverManager.getConnection("jdbc:sqlite:"+this.dbName);
DatabaseSQLite ConnBDD = new DatabaseSQLite("BDD/bdd.sqlite")
// 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();

“但什么都不起作用”-启动应用程序时什么东西不起作用?(oups)应用程序和数据库之间的连接…投票否决?不是我,但它不起作用。。。(jar和数据库并排,或者数据库在文件夹“BDD”中)…
code
public boolean connect(){try{connection=DriverManager.getConnection(“jdbc:sqlite:database.sqlite”);requete=connection.createStatement();requete.executeUpdate(“PRAGMA synchronous=OFF;”);requete.setQueryTimeout(30);返回true;}catch(SQLException e){//message=“内存不足”MsgBox.ShowMessage(“PB”);返回false;}}
code
使用Linux Mint测试,但不使用windows,也许?导出配置有问题吗?或者模式配置?我没有看到Class.forName(“org.sqlite.JDBC”);若程序不工作,那个么应该抛出异常。哪个异常会抛出您的程序?