运行时java.lang.ClassNotFoundException:com.mysql.jdbc.Driver(eclipse / maven / tomcat)

时间:2011-11-12 17:03:01

标签: mysql eclipse tomcat maven-2 jdbc

运行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>

我在'Problems'视图中没有遇到任何编译错误,但是当我从'Servers'视图运行Tomcat服务器时,我收到了这些错误。它清楚地表明Tomcat无法找到Class并且它是classpath配置错误,我希望maven能够处理这个问题。

我查看了与'java.lang.ClassNotFoundException:com.mysql.jdbc.Driver'相关的其他问题,但没有多大帮助。

我非常感谢任何帮助。

/ **这就是我加载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();
        }
               }

3 个答案:

答案 0 :(得分:18)

Tomcat 7要求JDBC驱动程序JAR必须进入其/ lib目录:

http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html

搜索“忘记”一词。

答案 1 :(得分:2)

确保驱动程序实际上被复制到您的webapp WEB-INF / lib目录和wtp deploy dir(类似于/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/)工作区)。

我发现maven-wtp集成比完美更糟糕,因为我经常偶然发现这个问题。

答案 2 :(得分:-1)

此错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

你需要“导入com.mysql.jdbc.Driver;”即使它在app运行之前没有使用过。