最近做了一个Java Web项目, 项目运行环境如下 :
1 | 2 |
---|---|
操作系统 | Window10 |
IDE | Eclipse Luna Service Release 2 (4.4.2) |
服务器 | apache-tomcat-7.0.69 |
数据库 | oracle 11g |
框架 | SSM |
各项参数都配置好后, Eclipse中也没有任何报错信息, 项目在tomcat服务器启动后也不报错, 在浏览器中输入 http://localhost:8080/projectName
可以正常显示项目的登陆界面. 如图所示:
点击登录按钮后Console中就循环报错, 部分代码如下:
2017-07-10 09:29:45 WARN com.mchange.v2.c3p0.DriverManagerDataSource:107 - Could not load driverClass oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1858)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)
.......
根据报错信息知道是因为没法加载oracle的驱动, 在项目里”WEB-INF > lib”路径下添加”ojdbc14.jar”, 将其”Add to Builde Path”不起作用; 在”Java Builder Path > Libraries”下添加”ojdbc14.jar”也没有作用. 最后通过不断尝试加上网上诸多大神的启发, 发现问题所在.
除了把jar包导入到”\WEB-INF\lib”路径下外, 也需要在tomcat的”tomcat\lib”路径下导入jar包. tomcat的lib中默认是不带Oracle驱动类的, 在Eclipse的”Java Builder Path”里无法将该驱动类加到tomcat的库中(也许是我没有尝试成功), 最后我直接将该jar包复制到tomcat安装路径下的lib里, 重新运行项目就不再报错了.