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

Categories

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

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

1 Answer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...