用sqlite驱动程序jar可执行文件

时间:2014-09-15 14:38:19

标签: java sqlite jar

我创建了一个代码,该代码连接到sqlite中的CLASSPATH驱动程序并读取一些数据库文件。我想创建一个可执行文件,可以在没有sqlite驱动程序的计算机上使用。

如果我这样做:

jar cvfe exec.jar main_class

使用

运行时,我会得到“未找到类:org.sqlite.JDBC”
java -jar exec.jar

如何使可执行文件正常工作?

编辑: 我不知道它是否有任何区别,但这是我使用的JDBC驱动程序:

https://bitbucket.org/xerial/sqlite-jdbc

2 个答案:

答案 0 :(得分:2)

您需要在JAR中包含库。也许您不知道这一点,但JAR文件只是ZIP文件,因此您可以轻松更改其内容。以下是一些如何操作的快速说明。假设您的JAR文件名为exec.jar,并且要包含的库(您下载的JAR)的JAR是driver.jar

  1. 将您的文件名从exec.jar更改为exec.zip
  2. exec.zip的所有内容解压缩到文件夹exec/
  3. 将您的图书馆文件名从driver.jar更改为driver.zip
  4. driver.zip的所有内容解压缩到文件夹driver/
  5. driver/的内容复制到exec/,但不要复制 META-INF文件夹。如果弹出窗口询问是否可以合并文件夹,请单击“是”。
  6. exec/中的所有文件压缩为exec.zip
  7. exec.zip重命名为exec.jar(替换原始文件)。
  8. 您可以使用此方法在JAR中包含任何Java库。

答案 1 :(得分:0)

这是doc:

C:\Windows\System32>jar /?
Illegal option: /
Usage: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...

所以我认为你需要的命令是:

jar cvfe exec.jar main_class main_class