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

Deployment Assembly and CLASSNOTFOUND Java/MySQL Issue

我已经在这里看了几个小时并尝试了很多不同的解决方案,但我没有得到任何进一步的解决方案。我的环境变量中有我的 .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)

很明显 Eclipse 在您的项目 class 路径中找不到 MySQL Jdbc 驱动程序。 按照 Eclipse 中下面提到的步骤 -

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

检查 MySQL JDBC 驱动程序是否在驱动程序定义列表中 visible/present,如下图所示。

如果 MySQL JDBC DRIver 不可见,单击添加,将出现 window,如下图所示。

Select MySQL 来自过滤器,select 您的 MySQL 版本。如果 MySQL 驱动程序已在您的 Eclipse 项目中注册,您应该能够 select 并单击“编辑”以检查它是否指向文件系统中的正确 JAR 文件。

如果没有,您可以单击添加,从列表中 select 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 系统 ENV 变量。