Tomcat JDBC MySQL ClassNotFoundException

2019-07-09 04:42发布

问题:

I would like to use springMVC and JPA (using hibernate) on my tomcat 7 server (running locally on my Mac).

I was able to set up everything successfully with an embedded H2 database.

Now I switched to mysql and am getting the following error

java.lang.ClassNotFoundException: "com.mysql.jdbc.Driver"
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)

This suggests tomcat is having trouble finding the mysql-connector for java. There are a multitude of tutorials on how to add the connector to $CATALINA_HOME/lib.

After trying to use a maven dependency for my project, I followed the advice and copied the .jar file into the lib directory:

$ ls $CATALINA_HOME/lib/mysql*.jar
/Users/david/Applications/tomcat/lib/mysql-connector-java-5.1.20-bin.jar

I have read and execute permissions on the directory and file.

At the moment I can't figure out how to make tomcat aware of the jar. The folder is included in

$CATALINA_HOME/conf/catalina.properties

and I have restarted the server multiple times.

Thanks for you help.

回答1:

Normally, the output of a CNFE is as follows:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

whereas your error message shows

java.lang.ClassNotFoundException: "com.mysql.jdbc.Driver"

I think you've still got quotes around the driver class name in your config.