Instalacja Mavena krok po kroku
-
Najpierw musisz zainstalować Mavena, pobierając go z tego linku .
-
Następnie należy rozpakować pobrane archiwum i ustawić zmienną środowiskową M2_HOME na odnośnik do lokalizacji rozpakowanego archiwum. Na przykład C:\Program Files\maven\
-
Aby sprawdzić, czy wszystko zostało zainstalowane, wpisz w wierszu poleceń:
wersja mvn
-
Jeśli wyświetlą się informacje o wersji Mavena, Java itp., jesteś gotowy do pracy.
-
Teraz otwórz IntelliJIDEA i utwórz nowy projekt. W pierwszym oknie wybierz Mavena:
-
Kliknij Dalej i wypełnij następujące okno dialogowe:
-
Następnie utwórz projekt w wymaganej lokalizacji w standardzie.
Po utworzeniu projektu zwróć uwagę na jego strukturę:
- folder src/main/java zawiera klasy Java;
- w src/main/resources - zasoby, z których korzysta nasza aplikacja (strony HTML, obrazy, arkusze stylów itp.);
- src/test - do testów.
Zarządzanie zależnościami w Mavenie
Być może spotkałeś się z wyrażeniem „menedżer zależności” lub „menedżer zależności”. Maven może wszystko. Dzięki Mavenowi nie musisz tracić dużo czasu na szukanie potrzebnej biblioteki w Internecie, pobieranie jej, a następnie podłączanie do projektu: wystarczy dodać wymaganą bibliotekę do listy zależności Mavena. Zależności są zapisywane w węźle XML zależności.Załóżmy, że potrzebujesz biblioteki Apache Commons IO w swoim projekcie, aby uprościć pracę z plikami. Aby dodać bibliotekę, napisz pięć linii w pliku pom.xml:<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Twój plik pom.xml powinien teraz wyglądać następująco:
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Następnie zezwól IntelliJ IDEA na zaimportowanie zależności (w prawym dolnym rogu powinno pojawić się okno dialogowe). Teraz biblioteka jest gotowa do użycia:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Wszystkie kolejne zależności powinny być również zapisane wewnątrz znacznika < zależności >. Być może zastanawiasz się: skąd wiesz, jakie informacje o bibliotece musisz uwzględnić w tagu <dependentency>? Tutaj wszystko jest proste. W takich przypadkach zawsze podawane są trzy parametry: groupId, artifactId i wersja. Możesz znaleźć te parametry na dwa sposoby:
-
Na stronie biblioteki. Jeśli potrzebujemy Apache Commons IO, przejdź do oficjalnej strony i wybierz zakładkę Informacje o zależnościach. Wszystkie niezbędne informacje znajdują się tutaj - możesz je po prostu skopiować i dodać do naszej sekcji zależności.
-
W repozytorium Mavena . W wyszukiwarce wpisz „apache commons io”, a zobaczysz wszystkie dostępne wersje biblioteki. Po wybraniu tego, którego potrzebujesz, po prostu skopiuj:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
i dodaj do swojego pom.xml.
Rodzaje repozytoriów Mavena
Warto jeszcze raz wspomnieć o repozytorium Mavena, bo tak naprawdę mamy ich dwa – zewnętrzne (globalne) i lokalne, na Twoim komputerze. Wszystkie biblioteki, które dodajesz do swoich projektów, są zapisywane w lokalnym repozytorium. Kiedy Maven dodaje do projektu wymaganą zależność, najpierw sprawdza lokalne repozytorium pod kątem obecności takiej biblioteki i dopiero jeśli jej tam nie znajdzie, zwraca się do zewnętrznego. Jak widzisz, możesz używać Mavena do dodawania zależności, ale to nie wszystko, co potrafi.Budowanie projektu w Javie przy użyciu Mavena
Ta funkcja może wydawać się bezsensowna dla nowicjusza. Dlaczego jest to potrzebne, jeśli istnieje IDE? Ale nie! Po pierwsze, serwer, na którym będziesz musiał zbudować aplikację, może nie tylko posiadać środowisko programistyczne, ale także interfejs graficzny. Po drugie, przy dużych projektach Maven lepiej radzi sobie z zadaniami montażu projektu. Dlatego nie zadręczajmy się czekaniem, tylko zastanówmy się nad procesem budowy aplikacji z wykorzystaniem Mavena.Fazy
Proces budowy aplikacji nazywany jest cyklem życia projektu Maven i składa się z faz. Możesz je obejrzeć w IDEA, klikając Maven>przykład>Cykl życia w prawym górnym rogu: Jak widać, jest 9 faz:- clean - usuwa wszystkie skompilowane pliki z katalogu docelowego (miejsca, w którym zapisywane są gotowe artefakty);
- validuj – sprawdzanie, czy dostępne są wszystkie informacje potrzebne do zbudowania projektu;
- kompilacja - kompilowane są pliki z kodem źródłowym;
- test — uruchamiane są testy;
- pakiet - skompilowane pliki są pakowane (do archiwum jar, war itp.);
- zweryfikować — przeprowadzane są sprawdzenia w celu potwierdzenia gotowości spakowanego pliku;
- install - pakiet zostaje umieszczony w lokalnym repozytorium. Teraz może być używany w innych projektach jako biblioteka zewnętrzna;
- strona internetowa - tworzona jest dokumentacja projektowa;
- wdrożyć - zebrane archiwum jest kopiowane do zdalnego repozytorium.
-
poprzez linię poleceń:
pakiet mvn
-
używając Intellij IDEA:
Przed uruchomieniem pakietu przeprowadzane są fazy sprawdzania poprawności, kompilacji i testowania. Wyjątkiem jest faza czysta. Wskazane jest wywoływanie go przed każdą kompilacją nowego projektu. Fazy można wymienić oddzielone spacjami:
mvn czysty pakiet.
Wtyczki
Aby dodać wtyczkę Maven do projektu, jej opis, podobnie jak zależności, należy umieścić w pliku pom.xml w tagach <build> i <plugins>. Na przykład potrzebujemy wtyczki, aby sprawdzić, czy wszystkie nasze zewnętrzne biblioteki korzystają z najnowszych wersji. Po krótkich poszukiwaniach w Internecie możesz znaleźć tę wtyczkę z instrukcją obsługi. Ustawmy jego groupId, artefaktId i wersję. Zapiszmy jakie cele musi osiągnąć i w jakiej fazie. W naszym przypadku sprawdzanie zależności w bieżącym pliku pom.xml jest ustawione na fazę sprawdzania poprawności. Teraz nasza „pamięć” wygląda następująco:<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Nadal możemy kontynuować pracę nad naszym projektem. Spróbujmy jednak zmienić wersję Apache Commons IO na 2.0 i rozpocząć budowanie projektu. Otrzymujemy: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Tutaj mamy błąd kompilacji spowodowany przez wtyczkę. Komunikat o błędzie informuje, że używamy wersji 2.0, gdy dostępna jest wersja 2.6. Ogólnie Maven jest bardzo przydatnym narzędziem. Na początku może wydawać się trudny w obsłudze, ale poćwicz, twórz swoje projekty w Mavenie, a po pewnym czasie będziesz bardzo zadowolony z rezultatu. W artykule celowo pominięto wiele szczegółów na temat Mavena – skupiliśmy się na tym, co najważniejsze. Ale perfekcja nie ma granic: więcej o Mavenie możesz przeczytać na oficjalnej stronie produktu . Część 5. Serwlety. Pisanie prostej aplikacji internetowej Część 6. Kontenery serwletów Część 7. Wprowadzenie do wzorca MVC (Model-View-Controller) Część 8. Pisanie małej aplikacji uruchamianej w trybie spring-boot
GO TO FULL VERSION