Вопрос или проблема
У меня установлена Java 8 на Fedora 20.
Любая Java-программа прекрасно работает через Eclipse, но когда я запускаю ту же программу в терминале, появляется ошибка: ‘не удалось загрузить основной класс’. В чем может быть проблема?
Я написал простую программу HelloWorld под названием hello.java и выполнил ее в Eclipse. Затем я открыл терминал, перешел в папку, содержащую hello.class в рабочем пространстве Eclipse, и ввел ‘java hello’. Но выводилось сообщение: ‘ошибка: не удалось загрузить основной класс’.
Также, как я уже сказал, я установил и использую Oracle Java 8.
В терминале введите java -version
и посмотрите на отображаемую версию.
Предположим, это версия v1.
В Eclipse: Window->Preferences->Java compiler, проверьте версию.
Предположим, это версия v2.
Для работы необходимо, чтобы v2 <= v1. Если в Eclipse установлена более новая версия Java, вам нужно одно из двух:
- установить более новую Java на Linux
- понизить версию компилятора Java в Eclipse
Вам нужно запустить программу с помощью java -jar Hello
Ответ или решение
Если у вас возникли проблемы с запуском Java-программ в терминале на Fedora 20, несмотря на то что они успешно выполняются в Eclipse, причиной может быть несколько факторов. Рассмотрим возможные источники проблемы и способы их устранения.
Проблемы с версией Java
Первое, что вы должны проверить, это соответствует ли версия Java, установленная в вашей системе, той версии, которую использует Eclipse. Для этого выполните следующие шаги:
-
Проверьте версию Java в терминале: введите команду
java -version
и обратите внимание на вывод, который покажет текущую установленную версию Java. Обозначим её какv1
. -
Проверьте версию компилятора в Eclipse: откройте Eclipse и перейдите в меню
Window -> Preferences -> Java -> Compiler
. Посмотрите, какую версию Java компилятора использует Eclipse. Назовем еёv2
.
Если версия v2
(версия компилятора Eclipse) больше чем v1
, вам нужно либо обновить Java на вашей системе до более новой версии, либо понизить версию компилятора в Eclipse до версии, которая поддерживается вашей текущей установкой Java.
Правильный запуск программы
Когда вы компилируете вашу программу в Eclipse, она может быть размещена в более глубокой папке в вашем рабочем пространстве, или Eclipse может добавлять специфичные настройки, которые влияют на выполнение программы. Убедитесь, что вы находитесь в правильной директории перед запуском.
Кроме того, если ваша программа не использует файлы JAR, убедитесь, что вы запускаете её правильно. Обычно для компиляции и запуска Java-программы в терминале применяются следующие команды:
javac Hello.java
java Hello
Важно отметить, что имя класса, включая регистр символов, должно соответствовать. Также итоговый файл Hello.class
должен быть в текущей директории.
Заключение
Итак, чтобы уверенно работать с Java на Fedora 20 из терминала, необходимо:
- Проверить и при необходимости синхронизировать версии Java в вашей системе и в Eclipse.
- Убедиться, что программы компилируются и запускаются в правильных директориях с точным соответствием имени класса.
- Как дополнение, можно рассмотреть организацию окружения проекта с правильными переменными окружения и путями для библиотеки, если ваша программа требует их за рамками стандартной Java-библиотеки.
Если следовать приведенным рекомендациям и тщательно проверить все упомянутые аспекты, запуск Java-программ в терминале должен пройти без сложностей.