Начало работы с Spring (4): использование Maven для управления проектами Spring

Spring

1. Зачем использовать Maven?

Сторонний пакет JAR, который мы должны полагаться на проект перед проектом, сторонний пакет JAR должен полагаться на проект (обычно это каталог lib), как показано ниже:

Таким образом, мы не можем знать зависимости сторонних библиотек классов.Например, при импорте определенного пакета jar этот пакет может также зависеть от других пакетов jar, а другие пакеты jar зависят от большего количества пакетов jar.Это также основная причина исключения ClassNotFound, с которым мы обычно сталкиваемся.

Для решения этой проблемы нам срочно нужно внедрить инструмент сборки проекта. Текущие основные инструменты построения проектов: Maven, Gradle и т. д.

Здесь мы выбираем Maven в качестве инструмента сборки проекта.

2. Введение в Maven

Apache Maven — это инструмент управления программными проектами.

Основываясь на концепции объектной модели проекта (POM), Maven можно использовать для управления зависимостями проекта, компиляцией, документацией и другой информацией.

При использовании Maven для управления проектом пакет jar, от которого зависит проект, больше не будет включаться в проект.По умолчанию он помещается в папку .m2 в каталоге пользователя, но этот путь можно настроить по своему усмотрению каталог.

3. Установка Мавена

3.1 Скачать Maven

ссылка для скачивания:maven.apache.org/.

3.2 Установите Maven

Разархивируйте загруженный файл apache-maven-3.6.0-bin.zip в ваш любимый каталог.

3.3 Настройка переменных среды

Переменные среды открываются: Компьютер - Свойства - Дополнительные параметры системы - вкладка "Дополнительно" - переменная среды.

1) Создайте новую переменную системной среды MAVEN_HOME со значением: E:\Program Files\apache-maven-3.6.0 (каталог, распакованный на шаге 2)

2) Отредактируйте системную переменную Path и добавьте в конце: ;%MAVEN_HOME%\bin

3.4 Убедитесь, что конфигурация прошла успешно

Откройте окно cmd и выполните команду: mvn -version.Если следующая информация о версии отображается правильно, конфигурация Maven выполнена успешно.

3.5 Изменить файл конфигурации Maven

Откройте файл settings.xml в папке conf под maven, найдите узел localRepository и настройте путь к локальному репозиторию.Я настроил здесь: E:\Java\MavenRepository.

<localRepository>E:/Java/MavenRepository</localRepository>

Примечание: Путь в файле отличается от пути под Windows.После копирования замените \ на /, и не может содержать китайский язык.

3.6 IDEA настраивает Maven

После открытия IDEA откройте File--Settings по очереди, а затем настройте Maven, как показано ниже:

Примечание. Этот параметр предназначен только для текущего проекта.

4. POM-файл Maven

Поскольку Maven работает на основе концепции объектной модели проекта (POM), проекты Maven имеют файл pom.xml для управления зависимостями проекта и функциями компиляции проекта.

4.1 Элемент зависимостей

<dependencies>
</dependencies>

Этот элемент содержит несколько зависимостей, которые необходимо использовать в проекте.<dependency></dependency>.

4.2 Элемент зависимости

<dependency></dependency>Внутри уникальные зависимости определяются идентификатором группы, идентификатором артефакта и версией, которые можно назвать координатами.

groupId: уникальный идентификатор организации.

ArtiftId: уникальный идентификатор проекта.

версия: версия проекта.

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>

4.3 элемент свойств

<properties></properties>Переменные могут быть определены для ссылок в зависимостях, код выглядит следующим образом:

<properties>
    <java.version>1.8</java.version>
    <spring-framework.version>4.3.18.RELEASE</spring-framework.version>
</properties>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring-framework.version}</version>
</dependency>

4.4 Скомпилируйте плагин

Maven предоставляет плагин компиляции, который может установить уровень компиляции Java в плагине компиляции.Код выглядит следующим образом:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>

4.5 Как работает Maven

Maven автоматически настроится в соответствии с зависимостями в зависимости, напрямую через Интернет в центральной библиотеке Maven (mvnrepository.com/) загрузите соответствующие зависимости в локальный...

Если вы не знаете, как написать зависимость пакета jar, от которого вы зависите, вы можете перейти на https://mvnrepository.com/, чтобы получить его.

5. Управляйте проектами Spring с помощью Maven

5.1 Добавление зависимостей Maven в проект

В IDEA выберите корневой каталог проекта, щелкните правой кнопкой мыши --> Добавить поддержку платформы, а затем выберите Maven во всплывающем интерфейсе:

В это время в каталоге проекта будет создан файл pom.xml со следующим исходным содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<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>groupId</groupId>
    <artifactId>spring-action</artifactId>
    <version>1.0-SNAPSHOT</version>

    
</project>

Здесь я изменил значение groupId на собственное доменное имя: com.zwwhnly.

<groupId>com.zwwhnly</groupId>
<artifactId>spring-action</artifactId>
<version>1.0-SNAPSHOT</version>

5.2 Миграция профиля

Перенесите предыдущий файл конфигурации spring-config.xml в каталог src/main/resources.

5.3 Добавьте зависимости пакета jar в файл pom

Откройте File-->Project Structure-->Modules и удалите сторонний jar-пакет, введенный предыдущим способом:

Затем добавьте зависимость пакета jar через файл pom:

<dependencies>
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>2.1</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>
    <dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>1.16.0</version>
    </dependency>
</dependencies>

После изменения файла pom не забудьте нажать «Импортировать изменения»:

Схема структуры проекта после завершения импорта:

Видно, что отличие от предыдущего в том, что текущие jar-пакеты управляются Maven, а также можно просмотреть дерево зависимостей проекта:

5.4 Окончательный файл pom

<?xml version="1.0" encoding="UTF-8"?>
<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.zwwhnly</groupId>
    <artifactId>spring-action</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
        <spring-framework.version>4.3.18.RELEASE</spring-framework.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring-framework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
        <dependency>
            <groupId>com.github.stefanbirkner</groupId>
            <artifactId>system-rules</artifactId>
            <version>1.16.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Описанный выше метод применим к этапам работы по созданию нового проекта вместо проекта Maven и последующему преобразованию его в проект Maven.

На самом деле, мы можем напрямую создать новый проект Maven через IDEA, а затем изменить файл pom, чтобы ввести Spring и другие зависимости для вышеуказанного содержимого (рекомендовать этот метод):

6. Исходный код и ссылка

Адрес источника:GitHub.com/Где находится Ухань/SPR…, добро пожаловать на скачивание.

Настройка Maven с помощью IntelliJ IDEA (начало работы)

[Java] Установка и настройка Maven

Преобразование обычных веб-проектов в проекты Maven с помощью IDEA

Ван Юньфэй, «Разрушитель разработки Java EE: Spring Boot в действии»