我尝试了几种不同的方法,以便 Tomcat 在运行我的 Web 应用程序时加载 MySQL 驱动程序。我使用的是 Ubuntu 8.04,库来自 libmysql-java 包。它们位于如下所示的目录中:
~$ ls /usr/share/java/mysql* /usr/share/java/mysql-connector-java-5.1.5.jar
我的 CLASSPATH 包含这个文件:
~$ echo $CLASSPATH .:/usr/lib/jvm/java-6-sun/bin:/usr/local/tomcat/lib/servlet-api.jar:/usr/share/java/mysql-connector-java-5.1.5.jar
我什至在我的 Web 应用程序的 WEB-INF/lib/目录中放置了 .jar 文件的副本:
/usr/local/tomcat/webapps/ohms/WEB-INF/lib$ ls mysql-connector-java-5.1.5.jar
进行这些更改后,我重新启动 Tomcat,重新编译我的类,再次重新启动 Tomcat。此外,我正在使用 import java.sql.*;
但是当它运行 Class.forName("com.mysql.jdbc.Driver ").newInstance();
我在这里做错了什么?
最佳答案
将其放在 TOMCAT_HOME/lib 中。 (我似乎记得在旧版本的 Tomcat 上,它是 TOMCAT_HOME/server/lib?)
它不会在 WEB-INF/lib 中工作,因为容器需要访问库,而且,这是将它放在一个 Web 应用程序的类加载器中,而不是容器中。虽然我会想象 CLASSPATH 方法会起作用,但这不是执行此操作的标准方法。也许还有其他一些障碍阻止它工作。
关于java - Tomcat 无法识别 MySQL .jar 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610277/