← Назад к вопросам

Что нужно сделать для запуска Main.java?

1.8 Middle🔥 161 комментариев
#Основы Java

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Запуск Main.java в Java

Для запуска Java-приложения с классом Main нужно выполнить несколько этапов. Это один из самых базовых вопросов в Java-разработке, но важно понимать весь процесс.

Подготовка исходного кода

Сначала нужно иметь класс с методом main:

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

Класс ДОЛЖЕН содержать статический метод main с точной сигнатурой: public static void main(String[] args). Это точка входа для JVM.

Компиляция

Шаг 1 — компилируем исходный код .java в байт-код .class:

javac Main.java

Эта команда создаёт файл Main.class в той же директории. Если есть зависимости от других классов, их тоже нужно скомпилировать.

Для проекта с несколькими файлами:

javac src/Main.java src/Utils.java

Или скомпилировать все файлы в директории:

javac src/*.java

Запуск

Шаг 2 — запускаем скомпилированный класс через JVM:

java Main

Важно: указываем имя класса БЕЗ расширения .class. JVM найдёт файл Main.class и запустит метод main.

Если класс находится в пакете:

java com.example.Main

И файл должен быть в правильной структуре:

com/
  example/
    Main.class

Работа с аргументами командной строки

Метод main получает массив аргументов String[] args. Их можно передать при запуске:

public class Main {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("First argument: " + args[0]);
        }
    }
}

Запуск с аргументами:

java Main arg1 arg2 arg3

Работа с classpath

Если у проекта есть внешние зависимости (JAR-файлы), нужно указать их в classpath:

javac -cp "lib/dependency.jar" src/Main.java
java -cp ".:lib/dependency.jar" Main

На Windows используй ; вместо ::

java -cp ".;lib\\dependency.jar" Main

Современный подход с инструментами сборки

В реальных проектах используют Maven или Gradle:

Maven:

mvn compile
mvn exec:java -Dexec.mainClass="com.example.Main"

Gradle:

gradle build
gradle run

Эти инструменты автоматически управляют зависимостями и classpath.

Основные ошибки

  • NoClassDefFoundError — класс не найден, проверь classpath или структуру пакетов
  • ClassNotFoundException — при динамической загрузке класса, неправильное имя класса
  • Error: Could not find or load main class — неверное имя класса или файл не скомпилирован

Итоговый процесс

  1. Напиши класс с методом public static void main(String[] args)
  2. Скомпилируй: javac Main.java
  3. Запусти: java Main
  4. Готово!

Это базовый процесс, который остаётся неизменным независимо от сложности проекта.