Я запускаю следующий код в Eclipse IDE:

public class HelloWorld {
    public static void main(String[] args)
    { 
    System.out.println("Hello World!" ) ; 
    }
}

И это дает ожидаемый результат.

При входе в командную строку (DOS) уже в каталоге, я набираю это

javac HelloWorld.java

И тогда это

java HelloWorld

И вывод читает

Exception in thread "main" java.lang.NoClassDefFoundError: 
HelloWorld <wrong name:learning/HelloWorld>

С намного большим количеством ошибок, изучение - название моего общего пакета. В чем дело? Я установил Eclipse x86 SDK 4.2.0 вместе с последней версией JRE и JDK и в 64-битной версии.

1 ответ1

2

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

Я предполагаю, что вы запускали java HelloWorld из learning каталога, верно? Но команда ожидает класса без какого-либо пакета. Так как он говорит wrong name:learning/HelloWorld , это означает, что он ожидает найти класс HelloWorld внутри learning пакета / каталога, а не в текущем.

Перейдите на один каталог вверх по иерархии (cd..), затем попробуйте запустить программу с
java learning.HelloWorld вместо этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .