一开始写servlet连接mysql数据库时,出现无法加载mysql驱动程序的错误,即java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver。这是因为缺少mysql驱动程序包,该驱动包在mysql安装时可以选择安装,也可以单独去官网下载。下面介绍两种方法来解决上述问题。
1、将mysql驱动程序包mysql-connector-java-8.0.12.jar文件放入Tomcat安装目录下的lib目录中即可。
2、将mysql驱动程序包放入java web工程目录的web目录下的lib目录中即可(本人用的idea)。一开始我采用这种方法没有成功,后来在idea的提示下才找出解决方法,故在此详细记录。
2.1、首先,在web目录下新建一个lib目录,然后点击File->Project Structure,选择Modules,点击Dependencies,点击右边的+号,选择JARs or directories,将新建的lib目录加入进去。如图1所示。
2.2、此时如果直接选择编译项目并启动Tomcat,还是会出现上述问题。以我目前有限的知识来看,是因为驱动程序包并没有加入到部署在Tomcat的Artifacts中。因此,点击File->Project Structure,点击Artifacts,这时你会发现,在Available Elements中多出了一个mysql驱动程序包。将鼠标移动到该驱动程序包上,右键,选择Put into WEB-INF/lib,最后点击OK按钮。这时,编译项目并启动Tomcat后,就能够成功访问mysql数据库了。
疑问:
在第二种方法中,若不进行2.2步,在Artifacts的输出目录下的WEB-INF目录中也已经有了mysql驱动程序包,为啥这个不起作用,是因为路径问题还是别的原因,希望有大佬不吝赐教,感谢!