今天遇到一个很常见但是困扰了我好几个小时的简单问题!
问题描述:
在做Java web开发链接数据库的候经常报ClassNotFoundException: com.mysql.jdbc.Driver(找不到jdbc的异常)jdbc-connector.jar 导入了、数据库链接字符串没问题、项目也重新部署了、服务器也重启过......它还是报这个错误。
解决思路:
于是试着将数据库链接的部分抽出来以Java application的方式运行并没有报错!!!那就说明这个问题出现在服务器端!于是我到tomcat的lib下去找果然没有发现jdbc-connector.jar,接下来将jdbc-connector.jar放进去重启tomcat就没有报错了!后来想了一下上面的处理不够好,我们知道sun规定web应用有自己的固定的目录结构,在WEB-INF下面有一个lib文件夹,里面存放该项目用到的库文件,如果我们将jdbc-connector.jar放在Tomcat里面会使Tomcat变得臃肿,其他项目可能并不会用到jdbc-connector.jar这个库文件,所以如果只针对的是本项目就应该将其放在WEB-INF下面的lib文件夹里,当使用到这个库文件的时候,会自动到该目录下寻找。
总结:
要明白整个项目启动的顺序,各个工具的作用,用排除法定位错误源,然后解决问题