it-roy-ru.com

Терминал Mac: не удалось найти или загрузить основной класс CLASSNAME

Я пытаюсь запустить программу Java через терминал на Mac, но получаю:

Error: Could not find or load main class (MY CLASSNAME)

Я скомпилировал это приложение с Eclipse, и когда я запускаю его с Eclipse, оно работает нормально . Кроме того, я нахожусь в правильном каталоге, так как, когда я набираю «ls» в Терминале, он перечисляет все файлы, включая файл класса, который я пытаюсь запустить.

Это то, что я печатаю:

Java mainClass

Я был бы очень признателен за помощь в решении этой проблемы!

Спасибо,

Декан

Правка: Решение - вместо Java mainClass, он также должен иметь пакет: Java startPackage.mainClass

6
Dean Leitersdorf

Начните с того, что вы находитесь в каталоге выше верхнего уровня package

Если класс принадлежит packagecom.foo.bar, вы хотите находиться в каталоге выше com.

В вашем случае вы хотите быть в каталоге выше startPack.

Затем вам нужно использовать полное имя для запуска класса ...

Java statPack.mainClass

Например...

14
MadProgrammer

Убедитесь, что у вас есть текущий каталог внутри CLASSPATH.

Java -cp . mainClass

Чтобы установить это глобально, вы можете использовать export CLASSPATH=$CLASSPATH:. внутри .bash_profile.

Отдельно, если ваш класс живет в пакете, таком как com.foo.bar, вам нужно будет перейти в родительский каталог com и запустить ваше приложение с полным путем.

Java com.foo.bar.mainClass
4
merlin2011

Я тоже сталкивался с этим на компьютере Mac, и тогда я должен был сделать следующее:

Постановка задачи:

У меня был один пакет xyz в корне проекта i.e src/main/Java, а затем внутри пакета xyz у меня был один класс Student.Java

мой текущий каталог - /Users/username/projectname/src/main/Java/xyz: Я могу видеть, что Student.Java существует здесь и я скомпилировал его, используя javac Student.Java

Теперь я вижу, что файл класса был создан в этом месте. Но когда я пытаюсь запустить файл класса с помощью Java Student Я получаю сообщение об ошибке: Ошибка: не удалось найти или загрузить основной класс Student

Решение:

Теперь решение состоит в том, чтобы вернуться на один шаг назад в каталог и перейти к корневому пути:/Users/username/projectname/src/main/Java и выполнить команду

Java xyz.Student

и это будет работать.

Ссылка для следования: https://javarevisited.blogspot.com/2015/04/error-could-not-find-or-load-main-class-helloworld-Java.html

2
Gautam Kumar