以下代码在行上失败:Class.forName("oracle.jdbc.driver.OracleDriver");
错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
两个printlns打印:Wed_Jun_22_11:18:51_PDT_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
。
任何建议都会很棒。
答案 0 :(得分:0)
如果不查看你的应用程序和tomcat服务器,就很难分清楚到底出了什么问题。但是你的问题有一些提示。
NoClassDefFoundError
总是让我觉得有类碰撞,而不是缺少jar文件。掌握ClassNotFound
和NoClassDefFoundError
tomcat以与普通java应用程序不同的方式加载类。通常,java应用程序中的类加载器将遵循委托模式,这意味着子类加载器将始终将类加载作业委托给其父类加载器。但是tomcat并没有完全遵循这一点。因此,它将自行加载(查找源文件,读取字节代码并创建类类的实例)。
请检查您的tomcat lib以及tomcat下的所有Web应用程序,看看是否有多个版本的 ojdbcXXX.jar
答案 1 :(得分:0)
通过C:\ apache-tomcat-7.0.47 \ lib路径(此路径可能不同 - >基于您粘贴Tomcat服务器的位置),然后通过ojdbc14.jar(如果它不包含)。
然后在eclipse中重启服务器,然后在服务器上运行你的应用程序