Как сказал кодека, вам нужно набрать java ClassName
в командной строке, и если у класса есть метод main, он будет запущен.
Java компилирует каждый класс, определенный в определенном исходном файле, в свой собственный файл класса (байт-код). Например, Apple.class, Banana.class и Cherry.class могут получить выходные данные после компиляции Apple.java, если они все определены там. Таким образом, фактическое имя класса в источнике будет соответствовать имени файла, за вычетом расширения.
Теперь, скажем, кто-то случайно (или намеренно, по звуку) переименовал файл класса. У вас есть файл с именем WrongName.java, и вы набираете java WrongName
. Обратите внимание, что вывод начнется со строки:
Исключение в потоке "main" java.lang.NoClassDefFoundError: WrongName (неправильное имя: RightName)
Где RightName - это то, что должно быть. В этот момент вы переименуете свой файл в RightName.class, наберите java RightName
, и, надеюсь, он запустится. И если имя имеет косую черту, то все, что предшествует косой черте, является именем пакета. Допустим, это PackageName / RightName. Сначала вам нужно создать каталог с именем PackageName и поместить в него RightName.class. Затем перейдите на один уровень вверх в ваших каталогах и введите java PackageName.RightName
.
Обратите внимание на различные виды исключений: ClassNotFoundException
в основном означает, что файл класса не найден. NoClassDefFoundError
означает, что класс определение не найден. Если у класса нет метода main и вы пытаетесь запустить его как программу, вы получите NoSuchMethodError: main
.