Apache Maven — w skrócie
Jeśli jesteś programistą Java, Twoje codzienne czynności podczas pracy nad projektem obejmują — Pisanie kodu, Kompilowanie kodu, Testowanie kodu, Pakowanie go w formie artefaktu, takiego jak słoik lub plik wojenny, a następnie wdrażanie tego artefakt do serwera WWW.
Jest wiele zadań, którymi musisz zająć się ręcznie i oczywiście możesz zautomatyzować te zadania za pomocą biblioteki o nazwie Apache Maven
W tym artykule zrozumiemy, czym jest Apache Maven i jak możesz go efektywnie używać do tworzenia projektów Java i zarządzania nimi
Najpierw poznajmy podstawy maven
Co to jest Maven?
Maven to narzędzie do zarządzania projektami, które zostało opracowane w celu pomocy w zarządzaniu projektami opracowanymi przy użyciu języków JVM, takich jak Java i Scala. Do głównych zadań narzędzi do zarządzania projektami należy m.in.
- Budowanie kodu źródłowego
- Testowanie kodu źródłowego
- Pakowanie do słoika, wojny lub ucha
- Generowanie dokumentów java
- Zarządzaj zależnościami
Przejdźmy teraz dalej i zobaczmy, jak zainstalować Mavena na naszym komputerze.
- Otwórz https://maven.apache.org/ w swojej przeglądarce
- Przejdź do sekcji pobierania i pobierz najnowszy folder zip z wersją maven i rozpakuj go
- Ustaw zmienną ścieżki środowiska Dodaj JAVA_HOME i MAVEN_HOME
- Dodaj ścieżkę maven w zmiennej środowiskowej. np.: F:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin
Repozytorium Mavena:
Maven Repository to katalog spakowanych plików jar z pom.xml. Maven szuka zależności w repozytoriach. Istnieją trzy typy repozytoriów Maven.
- Lokalne repozytorium
- Centralne repozytorium
- Zdalne repozytorium
Możemy również zmienić lokalizację lokalnego repozytorium w pliku settings.xml, który znajduje się w MAVEN_HOME/conf/settings.xml Przykład: E:\apache-maven-3.1.1\conf\settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
</settings>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>e:/mavenlocalrepository</localRepository>
</settings>
Centralne repozytorium zawiera wiele wspólnych bibliotek, które można przeglądać pod tym adresem URLhttp://search.maven.org/#browse.
Zdalne repozytorium Maven: Zdalne repozytorium Maven znajduje się w sieci. W centralnym repozytorium może brakować niektórych bibliotek, takich jak biblioteka JBoss itp., dlatego musimy zdefiniować zdalne repozytorium w pliku pom.xml.
Struktura projektu Maven:
Teraz zrozummy strukturę projektu Maven. Podczas tworzenia projektu maven zobaczysz folder o nazwie
- src — source — który jest głównym kodem źródłowym naszej aplikacji i testem jednostkowym aplikacji
- src/main/java — który zawiera kod źródłowy naszej aplikacji, cały kod produkcyjny, który piszemy do naszej aplikacji, znajduje się w tym folderze
- src/main/resources — gdzie przechowujemy wszystkie pliki statyczne, których używamy w naszym projekcie. przykład application.properties , pliki XML, pliki CSV itp
- Jeśli tworzysz aplikację internetową, wszystkie pliki html i javascript będą znajdować się w tym folderze
- src/test/java — tutaj piszemy test jednostkowy i test integracyjny dla naszej aplikacji
- pom.xml — zawiera metadane zależności projektu
- target — w tym folderze maven przechowuje wszystkie skompilowane pliki klas Java
POM zawiera metadane projektu i jest również odpowiedzialny za zarządzanie zależnościami w celu skonfigurowania wtyczek, co pomaga nam w automatyzacji wielu powtarzalnych zadań, oto podstawowy plik 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.maven.application</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
- wersja modelu — wersja modelu będzie zawsze ustawiona na 4.0.0, chyba że zmienisz ją na inną wersję maven. Na przykład wyższe wersje powyżej 3.0
- Prosty plik pom
- Super plik pom
- Efektywny plik pom
Super plik pom: Możesz znaleźć plik super pom w katalogu instalacyjnym maven, pod ścieżką lib. A w pliku jar — maven-model-builder, możemy znaleźć pakiet o nazwie org
Efektywny plik pom: Efektywny plik pom to nic innego jak połączenie prostych plików pom i super pom. Jest to po prostu sposób na sprawdzenie wszystkich informacji o plikach pom.xml w jednym miejscu. Aby zajrzeć do efektywnego pliku pom, przejdź do typu terminala maven
mvn-help: effective-pom
Maven ma dwa rodzaje zależności
- Zależność migawki: zależność migawki oznacza projekt, który jest w fazie aktywnego rozwoju i który jest niestabilny.
- Zależność wydania: po zakończeniu projektu zostaje on wydany
Możemy kontrolować widoczność zależności maven za pomocą zakresów zależności. Istnieje 5 rodzajów zakresów
- Kompiluj: jest to domyślny zakres dla wszystkich zależności, a zależności oznaczone jako kompilacja są dostępne w ścieżce klasy projektu
- Dostarczony: zależność, która zapewnia zakres, zostanie dostarczona w czasie wykonywania przez jdk lub serwer WWW
- Runtime: jak sama nazwa wskazuje, zależność oznaczona runtime jest dostępna tylko w czasie wykonywania, ale nie w czasie kompilacji.
- Test: te zależności są dostępne tylko w momencie pisania i wykonywania testu.
- Zakres systemów: jest podobny do podanego zakresu, ale jedyną różnicą jest to, że wyraźnie wspomnieliśmy, gdzie możemy znaleźć zależność w systemie. Zamiast JDK lub serwera WWW dostarczającego tę zależność w czasie wykonywania, zapewniamy ścieżkę systemową, w której maven może znaleźć tę zależność. Ścieżkę możemy podać za pomocą ścieżki systemowej
Cykl życia kompilacji Maven jest podzielony na 3 różne etapy:
- Default — w ramach tego kroku maven wykonuje wiele zadań,
- maven odczytuje pom.xml i sprawdza, czy mamy poprawny xml, czy nie.
- Następnie maven skompiluje nasz kod źródłowy, utworzy pliki klas i zapisze je w folderze docelowym.
- Następnie w fazie testów, w ramach testu, maven przeprowadza test jednostkowy wewnątrz projektu.
- package — jako część pakietu maven pakuje kod źródłowy do wybranego przez nas artefaktu, takiego jak pliki jar, war, ear lub zip
- test integracyjny — jeśli nasz projekt zawiera testy integracyjne i jest wykonywany
- zweryfikuj — maven sprawdza, czy test integracyjny, który został uruchomiony w poprzedniej fazie, zakończył się sukcesem, czy też nie
- install — maven zainstaluje utworzony pakiet w lokalnym repozytorium
- wdrożyć — po instalacji maven wdroży się do zdalnego repozytorium.
2. Wyczyść: ten krok jest głównie odpowiedzialny za wyczyszczenie skompilowanych klas Java lub wygenerowanych metadanych. Przykład: czysta instalacja mvn
3. Site: Jest odpowiedzialny za generowanie dokumentacji Java, która jest obecna w naszym projekcie.
Maven upraszcza proces kompilacji w bardzo zaawansowany sposób. Mam nadzieję, że nauczyłeś się i masz kilka punktów do zrozumienia na temat Apache Maven.
Dziękuję za przeczytanie artykułu. Prosimy o klaskanie, udostępnianie i komentowanie. zachęci mnie to do pisania kolejnych takich artykułów. Podziel się swoimi cennymi sugestiami, doceniam twoją szczerą opinię!!!
Najczęściej zadawane pytania do wywiadu oparte na strumieniu Java 8 — część 1 Najłatwiejszy sposób uzyskania dostępu do bazy danych w języku JAVA Złap wiele wyjątków w kodowaniu w języku Java: Znajdź n-tą liczbę Fibonacciego w języku JavaScript Prawdziwe witryny, które płacą od 50 do 100 USD za godzinę korekty książek Wyjaśnienie Pythona
![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































