Apache Maven — w skrócie

Feb 17 2023
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. Istnieje wiele zadań, którymi musisz się zająć 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 budowania i zarządzania projekty java Najpierw poznajmy podstawy maven Czym 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.

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.

  1. Budowanie kodu źródłowego
  2. Testowanie kodu źródłowego
  3. Pakowanie do słoika, wojny lub ucha
  4. Generowanie dokumentów java
  5. Zarządzaj zależnościami

Przejdźmy teraz dalej i zobaczmy, jak zainstalować Mavena na naszym komputerze.

  1. Otwórz https://maven.apache.org/ w swojej przeglądarce
  2. Przejdź do sekcji pobierania i pobierz najnowszy folder zip z wersją maven i rozpakuj go
  3. Ustaw zmienną ścieżki środowiska Dodaj JAVA_HOME i MAVEN_HOME
  4. 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.

  1. Lokalne repozytorium
  2. Centralne repozytorium
  3. 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

  1. src — source — który jest głównym kodem źródłowym naszej aplikacji i testem jednostkowym aplikacji
  2. 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
  3. src/main/resources — gdzie przechowujemy wszystkie pliki statyczne, których używamy w naszym projekcie. przykład application.properties , pliki XML, pliki CSV itp
  4. Jeśli tworzysz aplikację internetową, wszystkie pliki html i javascript będą znajdować się w tym folderze
  5. src/test/java — tutaj piszemy test jednostkowy i test integracyjny dla naszej aplikacji
  6. pom.xml — zawiera metadane zależności projektu
  7. 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
  1. Prosty plik pom
  2. Super plik pom
  3. 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

  1. Zależność migawki: zależność migawki oznacza projekt, który jest w fazie aktywnego rozwoju i który jest niestabilny.
  2. 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

  1. 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
  2. Dostarczony: zależność, która zapewnia zakres, zostanie dostarczona w czasie wykonywania przez jdk lub serwer WWW
  3. Runtime: jak sama nazwa wskazuje, zależność oznaczona runtime jest dostępna tylko w czasie wykonywania, ale nie w czasie kompilacji.
  4. Test: te zależności są dostępne tylko w momencie pisania i wykonywania testu.
  5. 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:

  1. Default — w ramach tego kroku maven wykonuje wiele zadań,
  2. maven odczytuje pom.xml i sprawdza, czy mamy poprawny xml, czy nie.
  3. Następnie maven skompiluje nasz kod źródłowy, utworzy pliki klas i zapisze je w folderze docelowym.
  4. Następnie w fazie testów, w ramach testu, maven przeprowadza test jednostkowy wewnątrz projektu.
  5. package — jako część pakietu maven pakuje kod źródłowy do wybranego przez nas artefaktu, takiego jak pliki jar, war, ear lub zip
  6. test integracyjny — jeśli nasz projekt zawiera testy integracyjne i jest wykonywany
  7. zweryfikuj — maven sprawdza, czy test integracyjny, który został uruchomiony w poprzedniej fazie, zakończył się sukcesem, czy też nie
  8. install — maven zainstaluje utworzony pakiet w lokalnym repozytorium
  9. wdrożyć — po instalacji maven wdroży się do zdalnego repozytorium.
  10. 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