classNotfound异常在Eclipse中使用JDBC作为tomcat上的MySQL[英] classNotFound Exception when using JDBC for MYSQL on Tomcat in eclipse

问题描述

这似乎是一个普遍的问题,但我找不到工作解决方案.我看了几十个线程,一直在和我的老师一起工作. 我正在尝试使用JDBC连接到MySQL.我还使用Tomcat服务器并运行Xubuntu 12.04.我得到了classnotfound异常.

我已经尝试了JDBC mysql-connector-java.jar驱动程序,将其放置在/tomact/lib和/usr/share/java中,并在每个实例中手动构建了路径.我还尝试通过部署组件添加路径.我已经尝试使用导出类路径.什么都没有用.我无法得到这个例外,以免被抛弃.有人可以尝试其他解决方案吗?

我的代码:

public static Connection getConnection() {
    if(connection!=null){
        return connection;
    }else{
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            String dbURL = "jdbc:mysql://144.91.20.136:3306/jewelryInventoryGallison";
            String username = "javaee";
            String password = "mills2012";

            connection = DriverManager.getConnection(dbURL, username, password);
            return connection;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
}

测试类:

public static void main(String[] args) throws Exception{ 
      Connection conn = DatabaseUtils.getConnection();
      Statement st = conn.createStatement();
      ResultSet rs = st.executeQuery("SELECT * FROM Inventory");
      while(rs.next()) {
       System.out.println(rs.getString("name"));
      }

 }

和跟踪:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at utils.DatabaseUtils.getConnection(DatabaseUtils.java:19)
at utils.DatabaseUtils.main(DatabaseUtils.java:34)

线程中的异常" main" java.lang.nullpointerexception 在utils.databaseutils.main(databaseutils.java:35)

您的帮助将不胜感激!

推荐答案

java.lang.classnotfoundexception:com.mysql.jdbc.driver

您缺少MySQL驱动程序库.因为您正在使用Mysql数据库,请确保已包括 a>.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.8-dmr</version>
</dependency>

其他推荐答案

将mysql-connector-java-5.1.6.jar放在tomcat/lib目录中最终为我工作.不应该这样做,所以我怀疑我的tomcat安装不是最佳的,并且部署战争文件可能是有问题的

其他推荐答案

版本不匹配可能会导致此错误.我本人已经陷入了几天的错误.请检查JDBC连接器的版本.最新的连接器需要Java 1.8.就我而言,我的tomcat版本不支持我添加的连接器版本,所以请还检查一下.

ps:tomcat -8.0.32; MySQL -Connector -5.1.30带Java 1.7 Works(Y)

本文地址:https://www.itbaoku.cn/post/978611.html