java - 即使在构建路径中使用 ojdbc14.jar,Class.forName ("oracle.jdbc.driver.OracleDriver") 也会获取 ClassNotFoundException

标签 java tomcat servlets jdbc classloader

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

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

然后我想返回所有这些名称的 ArrayList,以便在 servlet 中使用它们。所以我创建了一个方法,就像 main() 中的方法一样,唯一的区别是我没有打印名称,而是将每个名称添加到一个 ArrayList 中,该 ArrayList 在关闭连接后返回。好吧,它在 Class.forName("oracle.jdbc.driver.OracleDriver")

行中得到 ClassNotFoundException

如果有帮助,我会得到 this 的指导将 Java 应用程序连接到 Oracle 数据库的教程。

任何帮助将不胜感激

最佳答案

ojdbc14.jar 放入 WEB-INF/lib/目录下的 war 文件中。您可以使用 ANT task去做这个。如果您不熟悉 ANT,您可以将 jar 文件复制到项目下的 WEB-INF/lib/ 目录中,然后使用 Windows 资源管理器或 WinZip 或任何工具压缩它其他对你有用的。然后将 .zip 文件重命名为 .war 并部署到 Tomcat 服务器上。

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

编辑:引用下面的评论。虽然我个人没有看到 Web 应用程序类加载器中的 JDBC 驱动程序有任何意外行为,但是,建议将驱动程序 jar 保存在服务器库下。

关于java - 即使在构建路径中使用 ojdbc14.jar,Class.forName ("oracle.jdbc.driver.OracleDriver") 也会获取 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085067/

相关文章:

tomcat - 如何将 tomcat7 webapp 的 http 重定向到 https?

java - 同一个端口上的 Tomcat Http 和 Https

Java Servlet 和 Jquery

java - 使用准备好的语句时出错

java - 如何生成 6 个唯一的 java 数字

java - 在 JScrollPane 上绘制圆形边框

java - 尝试从 ArrayList 在 Struts2 中创建表

java - 手动生成人脸上下文

tomcat - apache tomcat 监听器端口的范围是多少?

java - 此 URL 不支持 HTTP 方法 GET