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

时间:2014-08-22 18:56:09

标签: java jar manifest

我想连接我的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();
        }

    }
}

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

让我们说Java2Sqltest包内。

文件夹结构:

enter image description here

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

代码:

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

编译和执行:

enter image description here

答案 2 :(得分:0)

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

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

到此:

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

答案 3 :(得分:0)

您应该从HERE

下载驱动程序

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

首先右键单击Eclipse Project,Project - >构建路径 - >配置构建路径。在Libraries选项卡下,单击Add Jars或“Add External JARs”并添加下载的jar

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

SHOW VARIABLES WHERE Variable_name = 'port';