我在Eclipse中有一个项目,该项目在Apache-Tomcat 7.0服务器上被定义为“动态Web项目”。 我需要hypersonic在某些Java类中连接到DB(HSQLDB)。
hypersonic
我要制作的代码非常简单:
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库,该库位于我的项目中,并且在Java build pathEclipse 中进行了定义。
hsqldb.jar
lib
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由于某种原因它找不到类。 我不得不说,在此之前,我已经进行了多次配置,并且一切顺利。
org.hsqldb.jdbcDriver
有趣的故事: 我设法有了一个具有主要功能的简单Java项目,并且该功能在相同的配置上进行,并且在完全相同的机器上运行良好。
在Web应用程序中,您必须将hsqldb.jar文件添加到WEB- INF/lib应用程序的文件夹中(或者$TOMCAT_HOME/lib,如果您有更多使用它的Web应用程序,则添加到文件夹中)。仅在Eclipse项目的类路径中拥有它是不够的。
WEB- INF/lib
$TOMCAT_HOME/lib