即使在Build Path中使用ojdbc14.jar,Class.forName(“oracle.jdbc.driver.OracleDriver”)也会获得ClassNotFoundException

时间:2013-09-30 01:02:29

标签: java tomcat servlets jdbc classloader

我正在尝试使用java和oracle10g创建一个servlet应用程序,到目前为止我已经很好了,直到我需要一些数据库中的某些特定值,因为我有一个处理连接以检索数据的DAO类。我有以下问题。

首先,我在这个类中执行main()方法,该方法用于检索某些表中的所有条目,并在控制台中打印每个条目的名称。我工作得很好。

然后我想返回所有这些名称的ArrayList,以便在servlet中使用它们。所以我创建一个类似于main()中的方法,唯一的区别是不是打印名称,而是将每个方法添加到关闭连接后返回的ArrayList。好吧,它在ClassNotFoundException

行中得到Class.forName("oracle.jdbc.driver.OracleDriver")

如果有帮助,我会使用this教程将java应用程序连接到oracle数据库。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

ojdbc14.jar放在war-file / lib /目录下的war文件中。您可以使用ANT task执行此操作。如果您不熟悉ANT,只需将jar文件复制到项目下的WEB-INF/lib/目录下,然后使用Windows资源管理器或WinZip或其他任何适合您的工具将其压缩。然后将.zip文件重命名为.war并在Tomcat服务器上部署。

如果你想要一些快速修复,只需将ojdbc jar文件复制到tomcat下的server/lib目录,然后重新启动tomcat。它应该工作。

编辑:请参阅下面的评论。虽然我个人在web-app类加载器中没有看到JDBC驱动程序的任何意外行为,但是,建议将驱动程序jar保留在Server lib下。