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
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 驱动程序