找不到或加载主类,甚至很难有一种主方法

时间:2019-05-04 10:54:27

标签: java terminal compiler-errors

我有两个类ChatClientListener,想要编译并运行它们。在eclipse中它可以正常工作,但是在终端上我无法运行它。 这两个类都在路径上:/Desktop/java/task4。 也许我应该提到在ChatClient类中创建了一个Listener对象。


我使用命令javac *.java编译两个类,并创建2个类。但是,如果我输入java ChatClient,则会收到错误消息main class could not be found or loaded。我究竟做错了什么?我正在使用Ubuntu。是的,main中有一个ChatClient方法

public class Listen extends Thread {
Socket s;
Scanner msg;

public Listen(Socket s) {
    ....

}

public class Chatter {


public static void main(String[] args) {
    try {
        ...
        Listener lt = new Listener(s);
        ...
}

2 个答案:

答案 0 :(得分:0)

从cmd运行时,有很多可能性可以得到此错误。因为IDE会做很多与类路径相关的事情。

出现此错误的最大可能性是,初学者在从正确的classpath目录中使用`java cmd`进行运行时不会意识到完整的软件包结构。请转到此link了解更多信息。

答案 1 :(得分:0)

一个明显的问题是您的班级是在一个软件包(UE3)中,但您没有使用完整的合格班级名。试试:

java UE3.ChatClient

还有许多其他可能的问题,例如未正确设置类路径。

(请注意,程序包名称的约定全部为小写字母。此外,除了扩展Thread之外,您通常应将Runnable用作lambda或方法引用。)