我已经在这里呆了几个小时,并尝试了许多不同的解决方案,但是我没有得到更多。我的环境变量中都有.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)
答案 0 :(得分:0)
很明显,Eclipse在您的项目类路径中找不到MySQL Jdbc驱动程序。 请遵循以下Eclipse中提到的步骤-
检查MySQL JDBC驱动程序是否在驱动程序定义列表中可见/存在,如下图所示。
如果看不到MySQL JDBC DRiver,请单击“添加”,然后将出现一个窗口,如下图所示。
从“筛选器”中选择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变量。