错误 – 无法找到或加载主类

我想连接我的java程序来连接数据库并检索数据。 它编译完美但运行时我得到此Error : Could not find or load main class

我已经安装了Java SQL驱动程序,并将环境变量的jar路径添加为CLASSPATH

 import java.sql.*; public class Java2Sql{ public static void main(String args[]){ String url = "jdbc:mysql://localhost:80/"; String dbName = "test"; String driver = "com.mysql.jdbc.Driver"; String userName = "root"; String password = "root"; try{ Class.forName(driver).newInstance(); Connection conn = DriverManager.getConnection(url+dbName,userName,password); Statement stmt = conn.createStatement(); String strsql = "SELECT * FROM student"; ResultSet res = stmt.executeQuery(strsql); while(res.next()){ System.out.println("ID :"+res.getString(1)); System.out.println("Name :"+res.getString(2)); System.out.println("Tel :"+res.getString(3)); System.out.println("City :"+res.getString(4)); } res.close(); conn.close(); }catch(Exception e){ e.printStackTrace(); } } } 

你应该从这里下载驱动程序

和JAR文件需要添加到项目类路径。

首先右键单击Eclipse Project,Project – > Build Path – > Configure Build Path。 在Libraries选项卡下,单击Add Jars或“Add External JARs”并添加下载的jar

不是100%肯定,但看起来你使用了错误的端口号80.确保你的MySQL端口号是当前的以下语句

 SHOW VARIABLES WHERE Variable_name = 'port'; 

清单Main-class条目中指定的类在JAR文件中不存在,或者清单中可能没有Main-class:条目。

你不需要调用Class.forName()大约七年,然后你需要渲染调用newInstance()。

假设您的Java2Sqltest包内。

文件夹结构:

在此处输入图像描述

您尝试运行的代码如下所示。

码:

 package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Java2Sql { public static void main(String args[]) { Connection connection = null; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "username", "pwd"); // Test DB System.out.println("Connected."); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } 

您需要编译和运行的命令是:

 javac Java2Sql.java java -classpath .;test/mysql-connector-java-5.0.4-bin.jar test.Java2Sql 

编译和执行:

在此处输入图像描述

mysql连接的默认端口是3306.因此更改此行

 String url = "jdbc:mysql://localhost:80/"; 

对此:

 String url = "jdbc:mysql://localhost:3306/";