ClassNotFoundException oracle.jdbc.driver.OracleDriver仅在servlet中使用Eclipse和oracle

ClassNotFoundException oracle.jdbc.driver.OracleDriver仅在servlet中使用Eclipse和oracle,eclipse,Eclipse,下面的代码行失败:Class.forName(“oracle.jdbc.driver.OracleDriver”) 错误如下: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 两个println打印:Wed\u Jun\u 22\u 11:18:51\u PDT\u 2005 false这让我觉得类存在并且可以找到。同样,这个类也适用于非servlet应用程序 我已经多次重新启动了所有东西,并多次重新生成应用程

下面的代码行失败:
Class.forName(“oracle.jdbc.driver.OracleDriver”)
错误如下:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
两个println打印:
Wed\u Jun\u 22\u 11:18:51\u PDT\u 2005 false
这让我觉得类存在并且可以找到。同样,这个类也适用于非servlet应用程序

我已经多次重新启动了所有东西,并多次重新生成应用程序/servlet。所有值都已硬编码,以使其简单和简短

我使用的是:Eclipse JavaEE 1.4.2 Tomcat 7 jdk1.7 Oracle 11g R2 Windows 7 64位

我已经在web-inf中添加了jar文件。但是它仍然给出以下错误:
java.lang.NoClassDefFoundError:oracle/jdbc/driver/OracleDriver


任何建议都很好。

如果不查看应用程序和tomcat服务器,就很难判断到底出了什么问题。但对于你的问题,有几个提示

  • NoClassDefFoundError
    总是让我觉得是类冲突,而不是缺少jar文件。注意
    ClassNotFound
    noclassdefounderror

  • tomcat以与普通java应用程序不同的方式加载类。通常,独立java应用程序中的类装入器将遵循委托模式,这意味着子类装入器将始终将类装入作业委托给其父类装入器。但tomcat并不完全遵循这一点。因此,它将自己加载(查找源文件,读取字节码并创建一个类的instanceclass


  • 因此,请检查您的tomcat库以及tomcat下的所有web应用程序,查看是否有多个版本的ojdbcXXX.jar

    通过C:\apache-tomcat-7.0.47\lib路径(此路径可能不同->取决于您粘贴tomcat服务器的位置),然后通过ojdbc14.jar(如果不包含)


    然后在eclipse中重新启动服务器,然后在服务器上运行应用程序

    我找到了它:D重新加载odbc jar文件。