Плагин exec в Maven позволяет выполнять системные и Java-программы из командной строки maven.
У данного плагина есть две цели:
- exec:exec — выполняет любую программу в отдельном процессе.
- exec:java — может запускать программы Java на той же виртуальной машине.
В этом руководстве мы узнаем, как использовать цель exec:java для запуска программы Java в сборке maven.
Читайте также: Жизненный цикл, этапы и цели сборки Maven
1: Настройка плагина в pom.xml
Если вы хотите использовать какой-либо плагин maven, вам нужно настроить его в разделе сборки pom.xml. Просто добавьте приведенную ниже конфигурацию плагина в файл проекта pom.xml.
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.6.0</version> <configuration> <mainClass>com.journaldev.maven.utils.BuildInfo</mainClass> </configuration> </plugin>
Наиболее важным моментом, на который следует обратить внимание, является элемент mainClass внутри configuration. Здесь мы указываем класс Java, который будет выполняться целью exec:java.
Вот содержимое класса Java. Это простой класс, в котором мы выводим сведения о версии Java и текущее время.
package com.journaldev.maven.utils; import java.time.LocalDateTime; public class BuildInfo { public static void main(String[] args) { String javaVersion = Runtime.version().toString(); String time = LocalDateTime.now().toString(); System.out.println("********\nBuild Time: " + time + "\nJava Version: " + javaVersion + "\n********"); } }
2: Запуск сборки maven с целью exec:java
Если мы запустим сборку maven с целью exec:java, мы получим следующий результат:
$ mvn exec:java [INFO] Scanning for projects... [INFO] [INFO] ---------------< com.journaldev.maven:maven-example-jar >--------------- [INFO] Building maven-example-jar 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ maven-example-jar --- ******** Build Time: 2020-01-10T12:44:17.718061 Java Version: 13.0.1+9 ******** [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.591 s [INFO] Finished at: 2020-01-10T12:44:17+05:30 [INFO] ------------------------------------------------------------------------ $
Читайте также: Документация по плагину exec