Запуск Java ·
‹ Предыдущий Следующий ›
⏱ 5 минут чтения Обновлено: 2026-07-16

Как создать и запустить первое Java-приложение. Практические Задания

Практические задания к уроку о создании первого Java-приложения. Вы создадите классы в разных пакетах, скомпилируете их с помощью javac, запустите программу из командной строки, передадите ей аргументы через main(), соберёте JAR-файл и подключите его при компиляции и запуске через флаг -cp. К каждому заданию есть решение на Patreon.

Создание и запуск классов Car, Engine и Driver

  1. Создайте три класса: Car в пакете com.company.vehicles, Engine в пакете com.company.details и Driver в пакете com.company.professions. Все три класса находятся в разных пакетах.
  2. В методе main() класса Car создайте объекты классов Engine и Driver. При запуске Car программа должна выводить на консоль "I'm driving!". Скомпилируйте и запустите программу из командной строки.
  3. Используйте аргументы командной строки при запуске Car: на вход программы подаётся несколько аргументов. Программа должна распечатать их в следующем виде:
    Value: знач1
    Value: знач2

На чём чаще всего спотыкаются

Класс из пакета запускается по полному имени из каталога, где лежит корень пакетов: java com.company.vehicles.Car. Если зайти внутрь каталога vehicles и выполнить java Car, JVM ответит Error: Could not find or load main class.

Решение на Patreon →

Сборка JAR-файла и подключение через флаг -cp

  1. Перенесите пакет com.company.professions в отдельный проект.
  2. Проверьте, что в классе Car осталось создание объектов: Engine engine = new Engine(); и Driver driver = new Driver(); Мы пока не знаем, как устроено создание объектов, — это будет рассмотрено в дальнейших уроках. Здесь важно другое: класс Car ссылается на класс Driver, который теперь живёт в другом проекте.
  3. Соберите пакет com.company.professions в JAR-файл и скопируйте его в каталог lib.
  4. При компиляции и запуске класса Car указывайте JAR-файл во флаге -cp (classpath).

Нюанс

Разделитель элементов classpath зависит от ОС: на Windows — точка с запятой (-cp ".;lib/professions.jar"), на Linux и macOS — двоеточие (-cp ".:lib/professions.jar"). Не забывайте точку: без неё JVM перестанет видеть ваши собственные классы в текущем каталоге.

Решение на Patreon →

Проверь свой код

При написании программ обращайте внимание на рекомендации по оформлению кода.

Часто задаваемые вопросы

Как скомпилировать и запустить Java-программу из командной строки?

Компиляция: javac -d out src/com/company/vehicles/Car.java — флаг -d задаёт каталог, куда сложатся .class-файлы с сохранением структуры пакетов. Запуск: java -cp out com.company.vehicles.Car — имя класса указывается полное, вместе с пакетом, и без расширения .class.

Как передать аргументы командной строки в Java-программу?

Перечислите их через пробел после имени класса: java com.company.vehicles.Car red 90. Они попадут в параметр String[] args метода main(): args[0] — первый аргумент, args.length — их количество. Все аргументы приходят строками; число нужно преобразовывать, например через Integer.parseInt(args[1]).

Как создать JAR-файл из командной строки?

Утилитой jar из состава JDK: jar cf lib/professions.jar -C out com/company/professions. Флаг c создаёт архив, f задаёт имя файла, а -C out велит брать классы из каталога out, не включая сам out в пути внутри архива. Проверить содержимое можно командой jar tf lib/professions.jar.

Что такое флаг -cp и зачем он нужен?

-cp (сокращение от classpath) сообщает компилятору и JVM, где искать классы: каталоги и JAR-файлы. Пример: javac -cp lib/professions.jar ... и java -cp ".;lib/professions.jar" com.company.vehicles.Car (на Windows разделитель — точка с запятой, на Linux/macOS — двоеточие). Если -cp не указан, JVM ищет классы только в текущем каталоге.

Комментарии

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.