Jak Maven automatycznie rozwiązuje zależności bibliotek w słoiku.
Data publikacji:17 stycznia 2021 r.
INFOMARTION > Jak Maven automatycznie rozwiązuje zależności bibliotek w słoiku.
Przegląd.
Maven automatycznie pobiera słoiki z internetu, ale chciałbym wyjaśnić, jak to dokładnie działa.
Założeniem tego artykułu jest zrozumienie, czym jest Maven, więc jeśli nie jesteś zaznajomiony z samym Mavenem, powinieneś również zapoznać się z poniższym artykułem.
Co to jest Maven i do czego służy?
Spis treści
1. Zdolność Mavena do rozwiązywania zależności bibliotek jar.
Maven może automatycznie pobrać pliki jar, po prostu definiując wymagane pliki jar w pliku pom.xml. Automatycznie uczy się także, jakie słoiki zależne są potrzebne do uruchomienia danego słoika. Chciałbym wyjaśnić, jak to działa.
1-1. Co należy uwzględnić w pliku pom.xml.
Po pierwsze, aby rozwiązać kwestię zależności biblioteki jar, należy podać informacje w pliku pom.xml. Maven przetwarza informacje z pliku pom.xml. Jeśli wymagany jest na przykład "poi-3.17.jar", jest on opisany w pom.xml w następujący sposób. (Nawiasem mówiąc, "poi-3.17.jar" to słoik służący do manipulowania plikami pakietu Microsoft Office, takimi jak Excel.)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
Podanie powyższych informacji spowoduje pobranie z Internetu pliku "poi-3.17.jar", a także pobranie z Internetu dołączonego do niego pliku jar, który jest wymagany do uruchomienia pliku "poi-3.17.jar".
1-2. W jaki sposób są one pobierane z Internetu?
Proste wyjaśnienie działania systemu przedstawiono na poniższym schemacie.
Pobierz z repozytoriów Maven dostępnych w Internecie. Jeśli nic nie jest ustawione, domyślną wartością jest Centralne Repozytorium. Adres URL jest następujący.
https://repo1.maven.org/maven2/
Lista repozytoriów dostępnych w Internecie znajduje się na następującej stronie internetowej.
https://mvnrepository.com/repos
Za pierwszym razem słoik jest pobierany z zewnętrznego repozytorium, ale jest kopiowany do lokalnego repozytorium i od drugiego razu nie jest pobierany. Lokalizacja lokalnego repozytorium to "C:\u2002\u2002".
Jeśli chcesz zmienić miejsce docelowe w stosunku do wartości domyślnej, możesz je zmienić, umieszczając w pom.xml następujący znacznik repozytorium.
<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. Mechanizmy rozwiązywania problemów związanych z zależnościami słoików, które mają być nabyte.
Opisaliśmy właśnie przykład uzyskania pliku 'poi-3.17.jar', ale 'poi-3.17.jar' wymaga do działania pliku 'commons-collections4-4.1.jar'. Oznacza to, że plik 'poi-3.17.jar' zależy od pliku 'commons-collections4-4.1.jar'. Mechanizm rozwiązywania tej zależności można znaleźć w repozytorium Mavena, w którym przechowywany jest plik "poi-3.17.jar". Adres URL jest następujący.
https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/
Wydaje mi się, że plik "poi-3.17.pom" jest zapisany, a w nim znajdziesz informację, że "poi-3.17.jar" zależy od "commons-collections4-4.1.jar". Oznacza to, że podczas pobierania pliku "poi-3.17.jar" system pobiera nie tylko plik jar, ale także plik pom i sprawdza, czy nie ma innych potrzebnych plików jar.
2. streszczenie
Mechanizm rozwiązywania zależności od bibliotek jar w Mavenie polega na tym, że zależności definiuje się w pliku pom, w którym przechowywane są pliki jar, które mają zostać pobrane.
Dziękujemy, że oglądaliście do końca.
■INFORMATION
Kliknij tutaj, aby przejść do górnej strony INFORMACJI.
■PROFILE
Kliknij tutaj, aby zobaczyć profil.
■Dane kontaktowe.
W przypadku pytań dotyczących artykułu prosimy o kontakt tutaj.