【问题标题】:Tomcat 6 can't find mysql driverTomcat 6 找不到 mysql 驱动程序
【发布时间】:2010-12-16 12:40:48
【问题描述】:

这里有一个类似的问题,但关于类路径。 ClassNotFoundException com.mysql.jdbc.Driver

直到几天前,我的一切工作都很好。突然我的小应用程序找不到 mysql 驱动程序。而且我不明白为什么(真的我已经检查了所有内容)

我在 WEB-INF/lib 中找到了驱动 jar,但 tomcat 似乎无法找到它。

有人知道为什么吗? 我正在使用 Ubuntu 和从 synaptics 包管理器安装的 tomcat 6 和 mysql

给出的错误是:

ClassNotFoundException: com.mysql.jdbc.Driver

我什至将权限更改为 777 以查看它是否可以隐藏,但它不是:(

【问题讨论】:

  • 消息“com.mysql.jdbc:Driver”中的冒号不是我希望看到的。这是真的,还是打字错误?
  • 打字错误,我是从另一台电脑上手动复制的。
  • 您是如何尝试创建数据源的?从您的应用程序内部还是从 JNDI 绑定连接池 (DBCP)?

标签: java mysql tomcat jdbc ubuntu


【解决方案1】:

如果您创建了需要此驱动程序的数据源,则应将其直接放在管理数据源的容器的类路径中。在这种情况下,管理数据源的是 Tomcat。因此,将驱动程序放在Tomcat/lib 中就可以了。

除此之外,您还说您使用的是 Ubuntu。它默认附带 GNU JDK。我只强烈建议您确保摆脱它并安装 Sun JDK。 GNU JDK 充满了错误,这些错误乍一看可能会导致无法解释的问题。希望您考虑到这一点。

【讨论】:

  • 我改了,现在在web-inf/lib ty中找到驱动
  • CATALINA_HOME 比“Tomcat”更合适,以避免与 CATALINA_BASE 混淆。此外,对有缺陷的 GNU JDK 的引用虽然在撰写本文时肯定有效,但不再适用(尽管 Oracle JDK 与 OpenJDK 有争议,但这是另一个话题)。
【解决方案2】:

尝试将 MySQL JDBC 驱动程序放入 $CATALINA_HOME/lib 并重新启动 Web 服务器。此外,请确保 tomcat 用户(或您运行 tomcat 的任何用户)具有读取它的权限。

【讨论】:

    【解决方案3】:

    在tomcat lib中添加jar文件。我认为您可以从应用程序的 WEB-INF/lib 中删除 jar 文件,因为这样一个类可能有两个定义。所以只需将jar文件复制到tomcat lib中即可。希望这可以帮助。 :)

    【讨论】:

      【解决方案4】:

      从以下链接http://sqlworkbench.mgm-tp.com/viewvc/trunk/sqlworkbench/junit/mysql-connector-java-5.1.13-bin.jar?revision=2294&pathrev=2294下载“mysql-connector-java-5.1.13-bin.jar”并将其复制到“Tomcat/lib”文件夹,即...“$CATALINA_HOME/lib”文件夹并重新启动Tomcat

      【讨论】:

        猜你喜欢
        • 2013-04-22
        • 1970-01-01
        • 2013-08-31
        • 2020-09-11
        • 2016-09-24
        • 2016-07-14
        • 1970-01-01
        • 2022-11-23
        • 2016-04-02
        相关资源
        最近更新 更多