【发布时间】:2012-06-25 19:03:17
【问题描述】:
我正在尝试使用Servlet 中的JDBC 连接连接到MySQL。我正在使用Eclipse 并在/WEB_INF/lib 文件夹中添加了mysql-connector-java-5.1.20-bin.jar。
同样的 jar 也被添加到 Java Build Path 中。运行项目后,我收到以下错误
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at com.shubh.Download.doGet(Download.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
虽然我已经在类路径中添加了所需的 jar。为什么ClassNotFoundException 仍在生成?
Here 是我的代码。
【问题讨论】:
-
我猜只是将 jar 放到 WEB-INF/lib 文件夹中并不足以让 eclipse 真正将它添加到您的应用程序的编译版本中,您可以尝试将您的 jar 放在公共目录(如您的工作区的基础),然后右键单击您的项目-> 属性-> java 构建路径-> 添加外部 jar,也尝试在服务器视图上右键单击您的服务器并选择“清理”以确保 Eclipse更新构建
-
您的代码对我来说编译正常。自从我使用 Eclipse 以来已经有一段时间了,但我认为您可以查看 .classpath 以查看 jar 是否存在类路径条目。看看你是否可以导出一个 ant 构建文件,它会告诉你包含 jar 的目录是否在编译类路径中。