无法在 Apache 7.0 上连接 hypersonic(HSQLDB) DB

Posted

技术标签:

【中文标题】无法在 Apache 7.0 上连接 hypersonic(HSQLDB) DB【英文标题】:Failed to connect hypersonic(HSQLDB) DB on Apache 7.0 【发布时间】:2015-08-19 16:37:28 【问题描述】:

我在 Eclipse 中有一个项目,它在 Apache-Tomcat 7.0 服务器上被定义为“动态 Web 项目”。 我需要在我的一些 Java 类中连接到 hypersonic DB (HSQLDB)。

我正在尝试制作的代码非常简单:

private Connection getConnection()
    Connection conn;

    try    
        Class.forName("org.hsqldb.jdbcDriver");
        conn = driverManager.getConnection("jdbc:hsqldb:hsql://localhost","sa","");
        return conn;
     
    catch (Exception e) 
        e.printStackTrace();
       
    return null;

我已经将hsqldb.jar 添加到一些lib 库中,该库位于我的项目中并在Eclipse 上的Java build path 中定义。

问题是我收到了这个错误:

java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1722)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1573)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at root.login.getConnection(login.java:75)
    at root.login.doPost(login.java:35)

因此由于某种原因它找不到org.hsqldb.jdbcDriver 类。 不得不说,在此之前我做了很多次这样的配置,一切都很顺利。

有趣的故事: 我设法拥有另一个简单的 Java 项目,该项目具有 main 函数,并且此函数具有相同的配置,并且 它在完全相同的机器上运行良好。

我该怎么做才能找到这门课? 我还需要告诉您更多信息吗?

【问题讨论】:

在 web 应用程序中,您必须将 hsqldb.jar 添加到应用程序的 WEB-INF/lib 文件夹中(或者添加到 $TOMCAT_HOME/lib 文件夹中,如果您有更多的 webapps 使用它)。仅在 Eclipse 项目的类路径中拥有它是不够的。 @JozefChocholacek 帮了我很多忙!谢谢! 【参考方案1】:

在 web 应用程序中,您必须将 hsqldb.jar 文件添加到应用程序的 WEB-INF/lib 文件夹中(或者添加到 $TOMCAT_HOME/lib 文件夹中,如果您有更多的 web 应用程序使用它)。仅在 Eclipse 项目的类路径中拥有它是不够的。

【讨论】:

以上是关于无法在 Apache 7.0 上连接 hypersonic(HSQLDB) DB的主要内容,如果未能解决你的问题,请参考以下文章

虚拟化Hyper-V的网络配置教程

hyper-V下虚拟机连接外网,怎么才能将Hyper-V 的虚拟机接入互联网

Hyper-V虚拟机不能上网问题怎么解决

hyper-v虚拟机无法上外网,但与宿主机之间可以ping通。

Apache Livy 0.7.0 无法创建交互式会话

hyper-v虚拟机建立外部虚拟网络连接主机的虚拟网卡时,不能访问外部计算机。