Samouczek Maven: wszystko, co musisz wiedzieć, aby rozpocząć



Ten blog dotyczący samouczka Maven obejmuje wszystko, co musisz wiedzieć, aby rozpocząć pracę z Maven przy tworzeniu projektów.

Zamiast pisać długie skrypty do budowania projektów i ręcznego pobierania zależności, dlaczego nie użyć Mavena i pozbyć się tego bałaganu. Ten blog o samouczku Maven obejmuje wszystko, czego potrzebujesz, aby zacząć używać Maven w swoim projekcie. Po dokładnym zrozumieniu tego samouczka Mavena, następnym prawdopodobnym krokiem będzie nauczenie się Jenkinsa, który obejmuje fazę ciągłej integracji .

W tym blogu dotyczącym samouczka Mavena omówimy następujące tematy:

  1. Dlaczego potrzebujemy Mavena?
  2. Co to jest Maven?
  3. Architektura Maven
  4. Cykl życia, fazy i cele Mavena
  5. Projekt demonstracyjny.

Dlaczego potrzebujemy Mavena?

Jeśli pracujesz nad projektami Java, przez większość czasu potrzebujesz zależności. Zależności to nic innego jak biblioteki lub pliki JAR. Musisz je pobrać i dodać ręcznie. Ponadto zadanie aktualizacji stosu oprogramowania dla twojego projektu zostało wykonane ręcznie przed Maven. Potrzebne było więc lepsze narzędzie do kompilacji, które poradziłoby sobie z takimi problemami.





Tutaj pojawia się Maven. Maven może rozwiązać wszystkie problemy związane z zależnościami. Wystarczy określić zależności i wersję oprogramowania, które chcesz w pliku pom.xml w Maven, a Maven zajmie się resztą.A teraz spróbujmy zrozumieć, czym dokładnie jest Maven.

Co to jest Maven?

Projekt Maven jest rozwijany przez Apache Software Foundation, gdzie wcześniej był częścią projektu Jakarta. Maven to potężne narzędzie do automatyzacji kompilacji, które jest używane głównie w projektach opartych na języku Java. Maven pomaga rozwiązać dwa krytyczne aspekty tworzenia oprogramowania -



  • Opisuje sposób budowy oprogramowania
  • Opisuje zależności.

Maven woli konwencję niż konfigurację. Maven dynamicznie pobiera biblioteki Java i wtyczki Maven z jednego lub większej liczby repozytoriów, takich jak Maven Central Repository, i przechowuje je w lokalnej pamięci podręcznej. Artefakty projektów lokalnych można również aktualizować za pomocą tej lokalnej pamięci podręcznej. Maven może również pomóc w tworzeniu i zarządzaniu projektami napisanymi w językach C #, Ruby, Scala i innych.

Plik Project Object Model (POM) to plik XML zawierający informacje związane z projektem i konfiguracją, takie jak zależności, katalog źródłowy, wtyczka, cele itp., Których Maven używa do tworzenia projektu. Kiedy wykonujesz polecenie maven, dajesz mavenowi plik POM, aby wykonać polecenia. Maven odczytuje plik pom.xml, aby przeprowadzić konfigurację i wykonać operacje.

c ++ stl sort

Cele Mavena

Cele Mavena

Kiedy ktoś powinien używać Mavena?

    1. Jeśli istnieje zbyt wiele zależności dla projektu.
    2. Gdy wersja zależności jest często aktualizowana.
    3. Ciągłe kompilacje, integrację i testowanie można łatwo obsługiwać za pomocą maven.
    4. Gdy potrzebny jest prosty sposób na wygenerowanie dokumentacji z kodu źródłowego, kompilację kodu źródłowego, pakowanie skompilowanego kodu do plików JAR lub ZIP.

Architektura Maven

Cykl życia, fazy i cele Mavena

1. Cykl życia Mavena



Maven ma określony cykl życia, aby wdrożyć i rozpowszechnić projekt docelowy.

Istnieją trzy wbudowane cykle życia:

  • domyślna - To jest główny cykl życia Mavena, ponieważ jest on odpowiedzialny za wdrażanie projektów.
  • czysty - Ten cykl życia służy do czyszczenia projektu i usuwania wszystkich plików wygenerowanych przez poprzednią kompilację.
  • teren - Celem tego cyklu życia jest stworzenie dokumentacji projektu.

Każdy cykl życia składa się z sekwencji faz. Domyślny cykl życia kompilacji składa się z 23 faz, ponieważ jest to główny cykl życia kompilacji Mavena

Z drugiej strony, czysty cykl życia składa się z 3 faz, podczas gdy cykl życia zakładu składa się z 4 faz.

2. Fazy Maven

Faza Mavena to nic innego jak etap w cyklu życia Mavena. Każda faza wykonuje określone zadanie.

Oto kilka ważnych faz w domyślnym cyklu życia kompilacji -

  • uprawomocnić - Ta faza sprawdza, czy dostępne są wszystkie informacje niezbędne do kompilacji
  • skompilować - Ta faza kompiluje kod źródłowy
  • test-kompilacja - Ta faza kompiluje testowy kod źródłowy
  • test - W tej fazie przeprowadzane są testy jednostkowe
  • pakiet - Ta faza pakuje skompilowany kod źródłowy do formatu nadającego się do dystrybucji (jar, war)
  • test integracyjny - Ta faza przetwarza i wdraża pakiet, jeśli jest to konieczne do uruchomienia testów integracji
  • zainstalować - W tej fazie pakiet jest instalowany w lokalnym repozytorium
  • rozmieścić - Ta faza kopiuje pakiet do zdalnego repozytorium

Maven wykonuje fazy w określonej kolejności. Oznacza to, że jeśli uruchomimy określoną fazę za pomocą polecenia, takiego jak mvn, spowoduje to wykonanie nie tylko określonej fazy, ale także wszystkich poprzednich faz.

Na przykład, jeśli uruchomisz polecenie mvn deploy, czyli fazę wdrażania, która jest ostatnią fazą w domyślnym cyklu życia kompilacji, spowoduje to również wykonanie wszystkich faz przed fazą wdrażania.

3. Cele Maven

Sekwencja celów stanowi fazę, a każdy cel wykonuje określone zadanie. Kiedy prowadzisz fazę, Maven wykonuje wszystkie cele w kolejności związanej z tą fazą. Użyta składnia to plugin: goal. Oto niektóre fazy i domyślne cele z nimi związane:

  • kompilator: kompilacja - faza kompilacji
  • kompilator: test - faza test-kompilacja
  • surefire: test - faza testowa
  • instalacja: instalacja - faza instalacji
  • jar and war: war - faza pakowania

Wtyczka Maven to grupa celów. Jednak te cele nie zawsze są związane z tą samą fazą.Na przykład wtyczka Maven Failsafe, która jest odpowiedzialna za uruchamianie testów integracyjnych. Do testów jednostkowych potrzebujesz pewnej wtyczki Maven.

Projekt demonstracyjny

W tej sekcji Maven tutorial, przyjrzymy się projektowi demonstracyjnemu. Aby zademonstrować, jak zbudować projekt za pomocą Mavena, utworzyłem plik Projekt Java wraz z TestNG przy użyciu Eclipse IDE. To bardzo prosty program, w którym napisałem kod do testowania tytułu strony internetowej.

Program automatycznie uruchomi przeglądarkę internetową, przejdzie do witryny wymienionej w kodzie, pobierze tytuł tej strony i porówna ją z oczekiwanym tytułem. Jeśli rzeczywisty tytuł i oczekiwany tytuł są zgodne, przypadek testowy przechodzi, w przeciwnym razie kończy się niepowodzeniem.

Więc do tego projektu potrzebujesz , Maven i Eclipse pobrane do twojego systemu. Wersje, których używam w moim systemie, są następujące -

  1. Zaćmienie - Wersja Enterprise Edition 4.12.0 (2019-06)
  2. Jawa - wersja 1.8.0_211
  3. Maven - wersja 3.6.1
  • Oprócz tego musisz pobrać wtyczkę TestNG dla Eclipse i możesz ją pobrać, wykonując następujące kroki -
    • Otwórz Eclipse i przejdź do Pomocy. W Pomocy kliknij rynek Eclipse.
    • Wpisz TestNG w polu Znajdź i kliknij Go. W wynikach zobaczysz „TestNG for Eclipse”. Musisz go pobrać.
  • Po skonfigurowaniu systemu z wyżej wymienionymi rzeczami jesteś gotowy do stworzenia projektu demonstracyjnego za pomocą Maven. Więc teraz opowiem ci o wszystkich krokach potrzebnych do tego.
    • W Eclipse kliknij Plik -> Nowy -> Projekt Maven.
    • Kliknij Utwórz prosty projekt (pomiń wybór archetypu), a następnie kliknij Dalej.
  • Teraz zobaczysz okno z parametrami, takimi jak identyfikator grupy, identyfikator artefaktu i tak dalej.
    • Identyfikator grupy to unikalny identyfikator grupy będącej właścicielem projektu.
    • Identyfikator artefaktu to nazwa ostatniej jednostki kompilacji.
    • Wersja to wersja utworzonego artefaktu. SNAPSHOT wskazuje na trwającą pracę.
    • Opakowanie może być słoikiem, wojną lub pomponem w zależności od projektu. Do naszego projektu dobierzemy słoik. Następnie podaj nazwę swojego projektu.

  • Po utworzeniu projektu zobaczysz strukturę projektu Maven. Tutaj możesz zobaczyć następujące rzeczy -
    • pom.xml
    • src i target
    • src / main / java
    • src / test / java
    • Zależności Mavena
  • Teraz utwórz plik klasy w src / main / test i nazwij go DemoClass. Ta klasa zawiera kod Selenium, którego używamy do testowania. Teraz dodaliśmy Selenium, zależności TestNG oraz kompilator Maven i wtyczkę Surefire do pliku pom.xml. Kod DemoClass i pom.xml jest podany poniżej:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () rzuca InterruptedException {// deklaracja i tworzenie instancji obiektów / zmiennych //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // skomentuj powyższe 2 linie i odkomentuj poniżej 2 wiersze do użycia Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') Sterownik WebDriver = nowy ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String spodziewanyTitle = 'Welcome: Mercury Tours' StringtualTitle = '' // uruchom Fire fox i przekieruj go do podstawowego adresu URL driver.get (baseUrl) // pobierz aktualną wartość tytułutualTitle = driver.getTitle () Thread.sleep (3000 ) / * * porównaj rzeczywisty tytuł strony z oczekiwanym i wydrukuj * wynik jako „powodzenie” lub „niepowodzenie” * / if (tualTitle.contentEquals (spodziewanyTitle)) {System.out.println ('Test przeszedł!')} else {System.out.println ('Test nie powiódł się')} // zamknij sterownik Fire fox.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 test
  • Przed uruchomieniem projektu musimy przekonwertować plik klasy DemoClass na plik TestNG. Aby to zrobić, kliknij prawym przyciskiem myszy DemoClass -> TestNG -> Konwertuj na TestNG.

  • Teraz, aby uruchomić projekt, kliknij prawym przyciskiem myszy projekt -> Uruchom jako -> Maven clean. Spowoduje to wyczyszczenie projektu poprzez usunięcie wszystkich poprzednich kompilacji.

  • Po wyczyszczeniu Maven musisz przetestować projekt, ponieważ napisaliśmy kod do testowania aplikacji internetowej. Więc kliknij prawym przyciskiem myszy projekt -> Uruchom jako -> Test Mavena. Spowoduje to otwarcie witryny internetowej i dopasowanie tytułu witryny. Jeśli pasuje, nasz przypadek testowy przejdzie.

  • Możemy również wykonać powyższe polecenia za pomocą wiersza poleceń. W tym celu potrzebujemy ścieżki do pliku pom.xml.

    • Możesz uzyskać ścieżkę, klikając prawym przyciskiem myszy plik pom.xml -> Właściwości -> Lokalizacja.
    • Skopiuj ścieżkę, a następnie otwórz wiersz polecenia i wklej go tam za pomocą dysku CD. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Gdy to zrobisz, możesz ponownie wpisać polecenia Maven, takie jak mvn clean i mvn test.

Więc to jest to z mojej strony na tym blogu o tutorialu Maven. Mam nadzieję, że zrozumiałeś rzeczy, które omówiliśmy w tym samouczku Mavena.

Teraz, gdy zrozumiałeś ten samouczek Mavena, sprawdź to autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zrozumieć, czym jest DevOps i zdobyć wiedzę na temat różnych procesów i narzędzi DevOps, takich jak Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack i GIT do automatyzacji wielu kroków w SDLC.

co robi format w Pythonie

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego samouczka Mavena, a my skontaktujemy się z Tobą