简体   繁体   中英

Error - Could not find or load main class

I want to connect my java program to connect with database and retrieve the data. its compile perfectly but runtime im getting this Error : Could not find or load main class

i have installed the Java SQL driver and added the jar path to the Environmental variable as 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();
        }

    }
}

Let's say your Java2Sql is inside test package.

Folder Structure:

在此处输入图片说明

And the code you are trying to run is as below.

Code:

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();
        }

    }
}

Commands you need to compile and run would be:

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

Compilation and Execution:

在此处输入图片说明

The class named in the manifest Main-class entry doesn't exist in your JAR file, or possibly there is no Main-class: entry in the manifest.

You haven't needed to call Class.forName() for about seven years, and you needs rendered to call newInstance() after that.

Default port for mysql connections is 3306. So change this line

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

to this:

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

You should download Driver from HERE

and JAR file need to add to project class path.

First Right click on you Eclipse Project, Project --> Build Path --> Configure Build Path. Under Libraries tab, click Add Jars or "Add External JARs" and add downloaded jar

Not 100% sure but looks like you are using wrong port number 80. Make sure your MySQL port number is current by below statement

SHOW VARIABLES WHERE Variable_name = 'port';

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM