部署程序集和CLASSNOTFOUND Java / MySQL问题

时间:2018-09-08 20:59:06

标签: java mysql eclipse connection classnotfoundexception

我已经在这里呆了几个小时,并尝试了许多不同的解决方案,但是我没有得到更多。我的环境变量中都有.jar文件。我确保Eclipse在构建路径中具有mysql-connector ... jar。

我找不到Deployment Assembly设置,这使我相信我不知道有什么地方做错了。还是他们从光子中删除了该功能?我觉得自己碰到了金刚砂墙。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class main {


public static void main(String[] args) {
    Connection conn = null;
try {
//Server connection details
Class.forName("com.mysql.jdbc.Driver");
String host = "jdbc:mysql://localhost/3306/db";
String userName = "admin";
String password = "admin";

 //Get the connection going.

conn = DriverManager.getConnection(host, userName, password);
}
catch (SQLException err) {
System.out.println(err.getMessage());
}
}}

这就是我得到的:

线程“ main”中的异常java.lang.Error:未解决的编译问题:

未处理的异常类型ClassNotFoundException

在main.main(main.java:12)

1 个答案:

答案 0 :(得分:0)

很明显,Eclipse在您的项目类路径中找不到MySQL Jdbc驱动程序。 请遵循以下Eclipse中提到的步骤-

  1. 窗口->首选项->连接->驱动程序定义。

检查MySQL JDBC驱动程序是否在驱动程序定义列表中可见/存在,如下图所示。 enter image description here

如果看不到MySQL JDBC DRiver,请单击“添加”,然后将出现一个窗口,如下图所示。

enter image description here

从“筛选器”中选择MySQL,然后选择您的MySQL版本。如果已在Eclipse Project中注册了MySQL驱动程序,则应该能够选择该驱动程序,然后单击Edit检查它是否指向文件系统中的正确JAR文件。

如果没有,则可以单击“添加”,从列表中选择“ MySQL JDBC”,切换到“ JAR”选项卡,通过在文件系统中找到它来添加JAR文件,单击“确定”,您就可以了。

我敢肯定,如果正确添加MySQL JDBC连接器,ClassNotFoundException将消失。

但是,由于在main.java中仅捕获了SQLException,因此将出现一组新的错误。

一个快速使源代码快速编译的肮脏修补程序是使用Exception作为catch参数,如下所示-

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    public class main {


    public static void main(String[] args) {
        Connection conn = null;
    try {
     //Server connection details
     Class.forName("com.mysql.jdbc.Driver");
     String host = "jdbc:mysql://localhost/3306/db";
     String userName = "admin";
     String password = "admin";

     //Get the connection going.

     conn = DriverManager.getConnection(host, userName, password);
    }
    catch (Exception err) { // Catch All otherwise the compiler will flag an uncaught Connection exception
      System.out.println(err.getMessage());
    }
    }}

我希望这可以解决您的编译+生成问题。 Afaik,Eclipse忽略了Windows System ENV变量。