classNotFound在eclipse中在Tomcat上使用JDBC进行MYSQL时出现异常 [英] classNotFound Exception when using JDBC for MYSQL on Tomcat in eclipse

查看:104
本文介绍了classNotFound在eclipse中在Tomcat上使用JDBC进行MYSQL时出现异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我已经尝试了放在/ tomact / lib和/ usr / share / java中的JDBC mysql-connector-java.jar驱动程序在每个实例中手动构建路径。我也尝试通过部署程序集添加路径。我尝试过使用EXPORT CLASSPATH。没有任何效果。我不能让这个例外停止被抛出。有没有人可以尝试其他解决方案?



我的代码:

  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);
返回连接;
} catch(Exception ex){
ex.printStackTrace();
返回null;
}
}
}

测试类:

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

}

和跟踪:

在$ 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)utils.DatabaseUtils.getConnection(DatabaseUtils.java:19)
at utils.DatabaseUtils.main(DatabaseUtils.java:34)

线程main中的异常java.lang.NullPointerException
at utils.DatabaseUtils.main(DatabaseUtils.java:35)



你的非常感谢帮助!

解决方案


java.lang.ClassNotFoundException:com.mysql.jdbc。驱动程序


您缺少 MySQL 驱动程序库。因为,您使用 Mysql 数据库,请确保已包含 mysql-connector-java

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


This seems to be a common problem, but I could not find a working solution. I've looked through dozens of thread and have been working with my teacher. I am trying to connect to MYSQL using JDBC. I'm also using a tomcat server and running xubuntu 12.04. I am getting ClassNotFound exception.

I've tried the JDBC mysql-connector-java.jar driver placed in both /tomact/lib and /usr/share/java and have manually built paths in each instance. I've also tried adding paths through deploy assembly. I've tried using EXPORT CLASSPATH. Nothing has worked. I cannot get this exception to stop being thrown. Does anyone have other solutions I can try?

my code:

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;
        }
    }
}

test class:

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"));
      }

 }

and trace:

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)

Exception in thread "main" java.lang.NullPointerException at utils.DatabaseUtils.main(DatabaseUtils.java:35)

your help will be greatly appreciated!

解决方案

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

You missing MySQL driver library. Since, you are using Mysql database, make sure you have included mysql-connector-java.

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

这篇关于classNotFound在eclipse中在Tomcat上使用JDBC进行MYSQL时出现异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆