java - 在一个类中获取 ClassNotFoundException : oracle. jdbc.driver.OracleDriver 但不在另一类中获取

标签 java jakarta-ee servlets

执行以下代码时:

protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

我遇到异常:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我已经导入了所有 tomcat jar 和 ojdbc14.jar。

奇怪的是,当我在 main() 的单独类中编写相同的代码时,它可以工作:

public static void main(String[] args) {
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        System.out.println("works");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

最佳答案

看起来您没有将 ojdbc14.jar 放置在正确的位置。它应该位于 Web-INF/lib 文件夹中,其中包含其他项目特定的 jar。为了调试目的,尝试导入类并查看下面的语句是否被正确解释

OracleDriver od=   new OracleDriver();

关于java - 在一个类中获取 ClassNotFoundException : oracle. jdbc.driver.OracleDriver 但不在另一类中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17873830/

相关文章:

java - 什么是NullPointerException,我该如何解决?

java - tomcat服务器的端口号不变

java - 在哪里存储 Servlet 的单例?

java - 登录尝试 Servlet - 如果用户 3 次登录尝试全部失败,则禁用用户 10 分钟

java - Spring在jsp中使用不同的上下文和SpringBeanAutowiringSupport

java - 针对大面积相同颜色优化的图像模糊

java - 在模拟器中实现 BluetoothChat

spring - Spring框架有自己的bean吗?

java - Glassfish 上 EJB 的可移植 JNDI 语法查找

java - 如何在 block 处理中实现文件更新逻辑(Java Batch - JSR352)