Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
246 views
in Technique[技术] by (71.8m points)

java - Error: Could not find or load main class Main

I've the java class:

package com.server.main;

import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Main {
    public static void main(String args[]) throws Exception{
        ServerSocket server = new ServerSocket(12345);
        Socket client = server.accept();
        PrintWriter writer = new PrintWriter(client.getOutputStream());
        writer.write("Hello from server");
    }
}

Now I'm trying to compile and run it. What I do is:

javac Main.java

It's OK, Main.class is produced.

Now, according to that post, I was trying to run that program:

java -cp C:UsersworkspaceTestssrccomservermain Main
java -cp C:UsersworkspaceTestssrccomservermain Main.class
java -cp . Main
java -cp . Main.class

All these produce the output:

Error: Could not find or load main class Main

What's wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your Main is in a package, I believe you need

java -cp C:UsersworkspaceTestssrc com.server.main.Main

You might also move to the top folder of your project and use . like

cd C:UsersworkspaceTestssrc
java -cp . com.server.main.Main

Finally, you could add that folder to your CLASSPATH like

set CLASSPATH=C:UsersworkspaceTestssrc
java com.server.main.Main

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.9k users

...