我无法将 HSQLDB 嵌入到一个简单的 Java (Eclipse) 项目中

Posted

技术标签:

【中文标题】我无法将 HSQLDB 嵌入到一个简单的 Java (Eclipse) 项目中【英文标题】:I'm having trouble embedding HSQLDB into a simple Java (Eclipse) project 【发布时间】:2011-07-22 19:47:28 【问题描述】:

在阅读了一些选项(sqlite、derby 等...)后,我决定放弃使用 HSQLDB。我已经下载了它,阅读了它并按照“hello world”类型的介绍,现在卡住了。

我相信您必须将 hsqldb.jar 文件放在 src 文件夹中,所以我确实这样做了。然后我通过进入运行 -> 运行配置,然后进入类路径选项卡,然后单击用户条目,然后添加外部 Jar,并选择 hsqldb.jar 来使用 Eclipse 引用该包。

我明白了:

java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver

这是我的代码:

package mysqlite;

import java.sql.*;

public class myclass 
    public static void main(String[] args) 
        try 
            Class.forName("org.hsqldb.jdbcDriver");

            String url = "jdbc:hsqldb:db";
            String user = "aUser";
            String password = "";

            Connection conn = DriverManager.getConnection(url, user, password);
        
        catch(Exception e) 
            System.out.println(e.toString());           
        
    

我知道它无法找到一个类,但我认为这是 hsqldb.jar 提供的。

【问题讨论】:

忽略包名lol,这是对sqlite的调查。 第二条评论:回到类路径区域后,在用户条目下,我引用的 jar 不再列出。 没关系,想通了。原来我的问题归结为“如何在 Eclipse 中正确包含 jar 文件”。我在这里找到了答案wikihow.com/… 有趣的是,输入问题真的可以帮助您意识到哪里出错了。把这一切都留在这里以防其他人可能需要它。 【参考方案1】:

不,您不必将其放入 src 文件夹。 src 用于源文件 (*.java)。您必须将此 jar 添加到您的类路径中:单击项目属性,选择“Java 构建路径”,选择选项卡“库”并在此处添加 jar。

jar 可以存储在文件系统中的任何位置。有时人们会在项目主目录下创建 lib 目录并将所有 3rd 方依赖项放在那里。

【讨论】:

也试过了,效果很好。我认为我的部分困惑是/是类路径与构建路径。 @jason ,如果效果好,你可以接受他的回答。【参考方案2】:

尝试将 .jar 放在这里:

<YOUR_JAVA_HOME>\jre\lib\ext

【讨论】:

我很好奇当你去分发程序时会发生什么。您是否需要将 jar 与您的应用程序分开提供?还是它以某种方式与您的应用程序捆绑在一起?如果您有多个不相关的项目,并且在其中存储了大量不相关的 .jar,该怎么办?还有更多的实验要做...... 这实际上需要投反对票,你最终会发现原因 您最好按照@AlexR 的指示将 .jar 放在您的类路径中......把它放在这里只是一种快速而肮脏的方法,当我在玩的时候它对我有用最近一个数据库。

以上是关于我无法将 HSQLDB 嵌入到一个简单的 Java (Eclipse) 项目中的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式 HSQLDB 将数据持久化到文件中

将 Big Derby 嵌入数据库迁移到 HSQLDB 抛出 java.lang.OutOfMemoryError: Java heap space

在hsqlDB,java中重置光标位置

java设置路径hsqldb

Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分

无法从 hsqldb 日志文件恢复