Запуск main класса Maven-проекта в Java с командной строки
Быстрый ответ
Для того чтобы запустить Maven-проект, необходимо выполнить следующую команду с указанием главного класса:
mvn exec:java -Dexec.mainClass="com.example.Main"
Замените com.example.Main на полное название вашего класса для корректного выполнения проекта.
Если требуется передать аргументы, следует использовать следующий синтаксис:
mvn exec:java -Dexec.mainClass="com.example.Main" -Dexec.args="firstArg secondArg thirdArg"
Поля firstArg secondArg thirdArg следует заменить на аргументы, которые вы хотите передать.

Применение maven-exec-plugin
maven-exec-plugin – это инструмент для запуска Java-приложений. Его можно настроить в файле pom.xml или вызывать непосредственно из командной строки.
Активация профилей
Для запуска или переключения профилей Maven используйте опцию -P. Это позволяет управлять поведением процесса сборки проекта.
Преимущества mvnexec
Скрипт mvnexec упрощает поиск классов с методом main, что особенно полезно при работе с проектами сложной структуры и позволяет сэкономить время.
Ускорение сборки с помощью -B
Если существует возможность сократить время сборки, рекомендуется использовать опцию -B или флаг --batch-mode.
Фильтрация классов с помощью mvnexec
mvnexec позволяет фильтровать классы с методом main по области видимости (test/main) или по наименованию, что может быть полезно в крупных проектах для более удобного управления.
Визуализация
Структура вашего Maven-проекта может выглядеть следующим образом:
Проект (📁)
– src (💎)
– main (🔮)
– java (💠)
– YourMainClass (🌟)
– pom.xml (📋)
Запустите процесс из главного класса (🌟), используя эту команду в корневой папке проекта:
mvn exec:java -Dexec.mainClass="com.yourpackage.YourMainClass"
Так как по волшебству, ваш проект оживает.
Детальное описание процесса запуска
Pom.xml – ваш дирижёр в процессе сборки
Подключение maven-exec-plugin к вашему pom.xml обеспечивает стабильность процесса выполнения классов, что критически важно при коллективной работе или при использовании CI/CD.
Передача аргументов
Команда mvn exec:java позволяет передавать аргументы в ваш метод main. Для этого просто используйте опцию -Dexec.args.
Работа с несколькими главными методами
Если в проекте есть несколько методов main, важно внимательно подходить к системе наименования или использовать Maven-профили, чтобы избежать путаницы при выборе нужного метода.
Полезные материалы
- Maven – Изучаем Maven за 5 минут — краткий и четкий обзор основ работы с Maven.
- java – запуск главного класса в Maven-проекте – Stack Overflow — обсуждение на форуме Stack Overflow о запуске главного класса проекта.
- Maven – Введение в жизненный цикл сборки — подробный разбор фаз и целей Maven.
- maven-exec-plugin – Использование — руководство по настройке и использованию maven-exec-plugin.
- Maven | Документация IntelliJ IDEA — рекомендации по работе с Maven-проектами в среде разработки IntelliJ IDEA.


