Запуск 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.