首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在eclipse中使用JDBC for MYSQL on Tomcat时出现classNotFound异常

问在eclipse中使用JDBC for MYSQL on Tomcat时出现classNotFound异常
EN

Stack Overflow用户
提问于 2012-12-13 12:39:44
回答 5查看 4.7K关注 0票数 0

这似乎是一个常见的问题,但我找不到一个有效的解决方案。我已经看了几十个帖子,并且一直在和我的老师一起工作。我正在尝试使用JDBC连接到MYSQL。我还使用了tomcat服务器并运行了xubuntu 12.04。我得到了ClassNotFound异常。

我尝试了/tomact/lib和/usr/share/java中的JDBC mysql-connector-java.jar驱动程序,并在每个实例中手动构建了路径。我还尝试过通过deploy程序集添加路径。我尝试过使用EXPORT CLASSPATH。没有一样东西起作用。我无法让这个异常停止被抛出。有没有人有其他的解决方案我可以试试?

我的代码:

代码语言:javascript
复制
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;
        }
    }
}

测试类:

代码语言:javascript
复制
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"));
      }

 }

和跟踪:

代码语言:javascript
复制
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)

utils.DatabaseUtils.main(DatabaseUtils.java:35)处的线程"main“java.lang.NullPointerException出现异常

我们将非常感谢您的帮助!

EN

回答 5

Stack Overflow用户

发布于 2012-12-13 13:12:45

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

您缺少MySQL驱动程序库。由于您使用的是Mysql数据库,因此请确保包含mysql-connector-java。

代码语言:javascript
复制
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.8-dmr</version>
</dependency>
票数 1
EN

Stack Overflow用户

发布于 2013-10-14 01:02:45

将MySQL-connector-java-5.1.6.jar放在Tomcat/lib目录中,我终于可以使用了。不应该这样做,所以我怀疑我的Tomcat安装不是最佳的,并且部署war文件可能会有问题

票数 1
EN

Stack Overflow用户

发布于 2016-06-24 19:16:11

版本不匹配可能会导致此错误。我自己也被这个错误困扰了好几天。请检查jdbc连接器的版本。最新的连接器需要java 1.8。在我的例子中,我的tomcat版本不支持我添加的连接器版本,所以也请检查一下。

PS : Tomcat - 8.0.32;mysql-connector - 5.1.30 with java 1.7 works (Y)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13853054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档