Как Maven автоматически разрешает зависимости библиотек jar.
Дата публикации:17 января 2021 года.
INFOMARTION > Как Maven автоматически разрешает зависимости библиотек jar.
Обзор.
Maven автоматически загружает банки из интернета, но я хотел бы объяснить, как именно это работает.
Предпосылкой этой статьи является то, что вам нужно понять, что такое Maven, поэтому если вы не знакомы с самим Maven, вам также следует обратиться к следующей статье.
Что такое Maven и что делает Maven?
Оглавление
1. Способность Maven разрешать зависимости библиотек jar.
Maven может автоматически получить jar-файлы, просто определив необходимые jar-файлы в файле pom.xml. Он также автоматически узнает зависимые банки, необходимые для запуска этого банка. Я хотел бы объяснить, как это работает.
1-1. Что включить в файл pom.xml.
Во-первых, чтобы разрешить зависимость библиотеки jar, информация предоставляется в файле pom.xml. Maven обрабатывает информацию из файла pom.xml. Если требуется, например, "poi-3.17.jar", то он описывается в pom.xml следующим образом. (Кстати, 'poi-3.17.jar' - это jar, используемый для работы с файлами Microsoft Office, такими как Excel.)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
Простое упоминание выше позволит загрузить "poi-3.17.jar" из Интернета, а также загрузить из Интернета сопутствующий jar, необходимый для запуска "poi-3.17.jar".
1-2. Как они загружаются из Интернета?
Простое объяснение системы показано на схеме ниже.
Загрузите из репозиториев Maven, доступных в Интернете. Если ничего не задано, значением по умолчанию будет Central Repository. URL-адрес выглядит следующим образом.
https://repo1.maven.org/maven2/
Список хранилищ, доступных в Интернете, если вас это интересует, см. на следующем сайте.
https://mvnrepository.com/repos
В первый раз jar берется из внешнего хранилища, но он копируется в локальное хранилище и не берется со второго раза. Местоположение локального репозитория - "C:\Users\user\.m2".
Если вы хотите изменить пункт назначения по сравнению со значением по умолчанию, вы также можете изменить его, включив следующий тег репозитория в pom.xml.
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
</snapshots>
</repository>
</repositories>
1-3. Механизмы для разрешения зависимостей приобретаемого банка.
Мы только что описали пример получения 'poi-3.17.jar', но для запуска 'poi-3.17.jar' требуется 'commons-collections4-4.1.jar'. Это означает, что 'poi-3.17.jar' зависит от 'commons-collections4-4.1.jar'. Механизм разрешения этой зависимости можно найти в репозитории Maven, где хранится 'poi-3.17.jar'. URL-адрес выглядит следующим образом.
https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/
Я думаю, что хранится "poi-3.17.pom", и в этом файле вы найдете информацию о том, что "poi-3.17.jar" зависит от "commons-collections4-4.1.jar". Это означает, что при получении 'poi-3.17.jar' система получает не только jar-файл, но и файл pom, а также проверяет наличие других необходимых jar-файлов.
2. резюме
Механизм Maven для разрешения зависимостей от библиотек jar заключается в том, что зависимости определяются в файле pom, где хранятся файлы jar, которые необходимо получить.
Спасибо, что досмотрели до конца.
■INFORMATION
Пожалуйста, нажмите здесь, чтобы перейти на верхнюю страницу ИНФОРМАЦИЯ.
■PROFILE
Пожалуйста, нажмите здесь для получения профиля.
■Контактная информация.
Для получения информации о статье, пожалуйста, свяжитесь с нами здесь.