【发布时间】:2011-12-27 16:57:44
【问题描述】:
我在运行 tomcat 'java.lang.ClassNotFoundException: com.mysql.jdbc.Driver' 时遇到此错误。我正在使用 Eclipse(Indigo,J2EE 版本)/Maven(m2e-wtp)/Tomcat 7.0 的组合。我已经在我的 web 应用程序的 pom 文件中包含了这个依赖项(从头开始构建)。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
我在“问题”视图中没有收到任何编译错误,但是当我从“服务器”视图运行 Tomcat 服务器时,我收到了这些错误。它清楚地表明 Tomcat 无法找到 Class 并且是类路径配置错误,我希望 maven 能够解决这个问题。
我查看了与“java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”相关的其他问题,但没有太大帮助。
如果有任何帮助,我将不胜感激。
/** 这就是我加载驱动程序的方式 */
static {
DriverAdapterCPDS cpds_Customer = new DriverAdapterCPDS();
try { cpds_Customer.setDriver(productConfig.getProperty("dbcp.connection.customer.driver_class"));
} catch (ClassNotFoundException e) {
// log.error("setDriver Exception " + e);
e.printStackTrace();
}
}
【问题讨论】:
-
你是否也复制了Tomcat lib文件夹中的mysql连接器jar文件?
-
感谢您的快速响应。我没有尝试它,因为我希望 maven 能够通过将必要的 jar 复制到 WebContent/WEB-INF/lib 或它放置它们的任何位置来处理所有 jar 依赖项。我应该明确地这样做吗?我会尝试更新线程。
-
Tudor 和 duffymo 建议您将驱动程序复制到 tomcat 的 lib 目录 ($CATALINA_HOME/lib) 中,而不是 Web 应用程序的 lib 目录中。
-
是的,现在复制了它,我再也看不到异常了。我知道这是解决方案之一,但我试图弄清楚如何通过 maven 对其进行配置,以便在没有任何手动配置的情况下处理它。感谢您的帮助。
-
你是在使用jdni查找数据源吗?
标签: mysql eclipse tomcat maven-2 jdbc