java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
我的情况
我的情况是这样的,单独写个java类测试可以连接oracle数据库,但是使用servlet调用时就报这个错
解决过程
- 看网上说可能是oracle数据库版本与ojdbc不对应,而且在安装的oracle文件目录下就能找到自带的ojdbc包:
F:\oracle\product\11.2.0\dbhome_1\jdbc\lib
这是我的路径,在里面就有ojdbc包,这肯定能匹配我安装版本的数据库了吧
我选择是ojdbc6.jar,然后就把包导入项目,再添加到库,可是我还是报错。 - 可能是系统的jdk与ojdbc6不匹配,ojdbc6一般是jdk1.6,我本来是1.8,然后就换成了1.6,发现还是不行。由于jdk换成1.6,为了适应我把Tomcat版本换成了7.0。
- 最后我直接把ojdbc6.jar放在Tomcat->lib目录下,结果就成啦,兄弟。还有项目的服务器Tomcat版本记得换成7.0的,Tomcat库也要手动添加
D:\Tomcat 7.0\lib
这里面原本就只有两个包,我干脆直接把lib下的全加进去了
还有驱动要用 "oracle.jdbc.OracleDriver"这个,这样下来应该可以通过调用servlet连接了。
后续
后面我发现好像只要服务器配置的Tomcat是7.0版本(ojdbc6.jar要放在Tomcat->lib下),jdk是1.8也可以连接上,这玩意儿真是把我折磨久了,希望能帮到和我一样情况的朋友,如果还是不行也可以评论或私信交流一下,进一步分析问题在哪。