23:47
Урок 43: Введение в Maven

Курс по программированию на Java

Урок 43: Введение в Maven

Maven — это инструмент для управления проектами и сборки на Java. Он помогает автоматизировать процесс сборки, управления зависимостями, документации и отчетности. В этом уроке мы рассмотрим основные концепции Maven, как создать простой Maven проект и как управлять зависимостями.

Создание Maven проекта

Для создания Maven проекта необходимо иметь установленный Maven и выполнить команду:

mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Эта команда создаст структуру проекта Maven с минимальной конфигурацией.

Файл pom.xml

Основным файлом конфигурации Maven является pom.xml. В нем указаны зависимости, плагины и другие настройки проекта. Пример pom.xml для простого проекта:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.example</groupId>
 <artifactId>my-app</artifactId>
 <version>1.0-SNAPSHOT</version>

 <dependencies>
 <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.12</version>
 <scope>test</scope>
 </dependency>
 </dependencies>
</project>

Запуск Maven сборки

Для сборки проекта используется команда:

mvn clean install

Эта команда очищает проект, компилирует код, запускает тесты и упаковывает проект в JAR-файл.

Результат выполнения

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ my-app ---
[INFO] Deleting /path/to/project/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ my-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /path/to/project/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ my-app ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /path/to/project/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ my-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /path/to/project/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ my-app ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /path/to/project/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ my-app ---
[INFO] Surefire report directory: /path/to/project/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ my-app ---
[INFO] Building jar: /path/to/project/target/my-app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.678 s
[INFO] Finished at: 2023-05-15T12:34:56+02:00
[INFO] Final Memory: 15M/245M
[INFO] ------------------------------------------------------------------------

Упражнения

Упражнение 1: Добавление зависимости

Добавьте зависимость к библиотеке Gson в ваш проект Maven. Используйте последнюю версию библиотеки.

Решение:

<dependencies>
 <dependency>
 <groupId>com.google.code.gson</groupId>
 <artifactId>gson</artifactId>
 <version>2.8.8</version>
 </dependency>
</dependencies>

Объяснение: Зависимость к библиотеке Gson добавлена в файл pom.xml. Maven автоматически загрузит библиотеку и добавит ее в проект.

Упражнение 2: Создание Maven-плагина

Создайте Maven-плагин, который будет выводить "Hello, Maven!" во время сборки проекта.

Решение:

<build>
 <plugins>
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-antrun-plugin</artifactId>
 <version>1.8</version>
 <executions>
 <execution>
 <phase>validate</phase>
 <goals>
 <goal>run</goal>
 </goals>
 <configuration>
 <tasks>
 <echo>Hello, Maven!</echo>
 </tasks>
 </configuration>
 </execution>
 </executions>
 </plugin>
 </plugins>
</build>

Объяснение: В этом решении создан плагин, который выполняется на этапе валидации сборки проекта и выводит сообщение "Hello, Maven!"

Категория: Java | Просмотров: 18 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: