java - 最终用户对 Java DB 的要求

标签 java derby javadb

<分区>

当我在寻找一个简单的、支持 JPA 的嵌入式数据库用于 Java 桌面应用程序时,我发现 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 或其他东西?

最佳答案

如果包含您提供的方法调用,则不需要任何环境变量。但是,您确实需要确保 JDBC 驱动程序在您的类路径中。最简单的方法是通过 setting the classpath in your JAR's manifest file

我最近问了一个related question并被指示退房H2HSQLDB .我目前正在使用 HSQLDB,它似乎符合我的需求,这与您的需求非常相似。希望对您有所帮助!

关于java - 最终用户对 Java DB 的要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11910226/

相关文章:

java - 如何打印在Gradle中生成的Maven依赖项的位置?

java - 将数据添加到列表 - JDBC

java - 我使用 Hystrix(1.5.18) ,并设置参数 ErrorThresholdPercentage=30,始终在标记成功时切换断路状态

sql - Derby相当于DB 2's “NOT NULL WITH DEFAULT”

java - jGRASP 说我的 for 循环不正确

sql-server - 有没有真正持久的数据库?

sql - Apache Derby从表中提取最大值

java - ResultSet.next()行计数器计数失败

android - Java DB/Apache Derby 与 Android

java - 使用 JDBC 检查表是否存在