#java
#java
Вопрос:
Я создал Java-программу в Eclipse. Когда я запускаю программу в Eclipse («запустить как -> Java Application»), программа работает нормально, и у меня есть правильный вывод. Однако, когда я пытаюсь запустить программу в интерфейсе командной строки, я получаю эту ошибку:
Исключение в потоке «main»
java.lang.NoClassDefFoundError
:HelloWorld
(неправильное название: helloworld/HelloWorld) Не удалось найти основной класс: HelloWorld. Программа завершит работу.
Файл класса находится в каталоге bin, и я пытаюсь запустить его с помощью команды:
java HelloWorld
Комментарии:
1. Находится ли ваш класс в пакете по умолчанию (т. Е. Нет объявления пакета)? И когда вы говорили
I try to compile it with the command: java HelloWorld
, вы имели в виду запуск?2. Да, я имею в виду запуск проекта, а не его компиляцию.
3. В моем классе есть объявление пакета: package helloworld;
Ответ №1:
Поскольку ваш класс находится в пакете helloworld
, вы должны запустить его следующим образом:
java helloworld.HelloWorld
Также убедитесь, что «.» находится в вашем classpath.
Комментарии:
1. Это сработало. Мне пришлось ввести ее в каталог перед каталогом helloworld.
Ответ №2:
Я пытаюсь скомпилировать ее с помощью команды: java HelloWorld
ДЛЯ компиляции Java-программы вы должны использовать команду javac, например
javac Helloworld.java
Комментарии:
1. Я имел в виду запустить файл, а не скомпилировать его, поскольку он уже скомпилирован.
2. @Victor: Предоставляете ли вы все необходимые jar-файлы в classpath при ее запуске?
3. У меня нет файла jars, только HelloWorld.class и HelloWorld.java
4. @Vector: если в вашем классе есть объявление пакета, тогда вам следует указать путь к вашему классу до папки, содержащей папку helloworld, а не папку helloworld.
5. И как я должен это сделать?
Ответ №3:
Вы уверены, что каталог, в котором находятся ваши классы, находится в classpath? Как правило, в каталоге вашего проекта, каталоге «classes» или «lib».
Если вы запускаетесь из этого каталога, вы могли бы попробовать добавить «.».
Смотрите параметр -cp исполняемого файла Java runtime.