1

当我在寻找用于 Java 桌面应用程序的简单嵌入式支持 JPA 的 DB 时,我发现 Apache Derby / Java DB 是执行此类操作的一种非常常见的方式。

我已经发现,自 1.6 以来,每个 JRE/JDK 安装都默认附带 Java DB。

但是当进入教程时,安装 derby 有很多步骤......

忽略这些步骤,只是尝试类似:

public class Main {
  public static void main(String[] args) throws ClassNotFoundException {
    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
  }
}

抛出以下异常:

Exception in thread "main" java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver

这让我想到了我的问题:

我是否需要最终用户设置任何环境变量或类似的东西?如果我只想发送一个 JAR(或者至少只有一个文件夹包含运行我的桌面应用程序所需的所有内容),那么 derby 仍然是值得进一步了解的正确事情,或者它是死胡同,我应该寻找 SQLite -Libs还是什么?

4

1 回答 1

4

如果包含您提供的方法调用,则不需要任何环境变量。但是,您确实需要确保 JDBC 驱动程序位于您的类路径中。最简单的方法是在 JAR 的清单文件中设置类路径

我最近问了一个相关问题,并被指示检查H2HSQLDB。我目前正在使用 HSQLDB,它似乎符合我的需求,这与您的需求非常相似。我希望这有帮助!

于 2012-08-10T22:57:08.050 回答