Tomcat JDBC MySQL ClassNotFoundException

Posted

技术标签:

【中文标题】Tomcat JDBC MySQL ClassNotFoundException【英文标题】: 【发布时间】:2012-06-15 05:11:22 【问题描述】:

我想在我的 tomcat 7 服务器(在我的 Mac 上本地运行)上使用 springMVC 和 JPA(使用休眠)。

我能够使用嵌入式 H2 数据库成功设置所有内容。

现在我切换到mysql并收到以下错误

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)

这表明 tomcat 无法找到用于 java 的 mysql-connector。 有很多关于如何将连接器添加到 $CATALINA_HOME/lib 的教程。

在尝试为我的项目使用 maven 依赖项后,我按照建议将 .jar 文件复制到 lib 目录中:

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

我对目录和文件具有读取和执行权限。

目前我不知道如何让 tomcat 知道 jar。该文件夹包含在

$CATALINA_HOME/conf/catalina.properties

我已经多次重启了服务器。

感谢您的帮助。

【问题讨论】:

在你的projecthome/WEB_INF/lib文件夹中添加jar文件,然后重启你的服务器试试。 不,Tomcat 7 想要它在服务器 /lib 中。 【参考方案1】:

通常情况下,CNFE 的输出如下:

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

而您的错误消息显示

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

我认为您的配置中的驱动程序类名称仍然有引号。

【讨论】:

完美,就是这样。谢谢! 我不敢相信这也是我的问题。我只是偶然发现了这个,它解决了我的问题。给我点个赞吧!

以上是关于Tomcat JDBC MySQL ClassNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章

无法加载 JDBC 驱动程序类“com.mysql.jdbc.Driver”Tomcat 8 和 Eclipse

Tomcat JDBC 认证 MySQL SSL加密

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException MySQL + Apache Tomcat 7

Tomcat JDBC MySQL ClassNotFoundException

Tomcat 8 - java.sql.SQLException:无法为连接 URL 'jdbc:mysql://xxx/myApp' 创建类 '' 的 JDBC 驱动程序

Tomcat、MySQL -> 无法为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序