Kiedy utworzyłem aplikację Spring Boot, mogłem zobaczyć mvnw
i mvnw.cmd
pliki w katalogu głównym projektu. Jaki jest cel tych dwóch plików?
źródło
Kiedy utworzyłem aplikację Spring Boot, mogłem zobaczyć mvnw
i mvnw.cmd
pliki w katalogu głównym projektu. Jaki jest cel tych dwóch plików?
Te pliki pochodzą z opakowania Maven . Działa podobnie do owijarki Gradle .
Umożliwia to uruchomienie projektu Maven bez konieczności instalacji i obecności Maven na ścieżce. Pobiera poprawną wersję Maven, jeśli nie została znaleziona (o ile domyślnie wiem w katalogu osobistym użytkownika).
mvnw
Plik jest dla Linux (bash) i mvnw.cmd
jest dla środowiska Windows.
Aby utworzyć lub zaktualizować wszystkie niezbędne pliki Maven Wrapper, wykonaj następujące polecenie:
mvn -N io.takari:maven:wrapper
Aby użyć innej wersji maven, możesz określić wersję w następujący sposób:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Oba polecenia wymagają włączenia maven PATH
(dodaj ścieżkę do maven bin
do Path
Zmiennych systemowych), jeśli masz już mvnw w swoim projekcie, którego możesz użyć ./mvnw
zamiast mvn
poleceń.
mvn
polecenia dla Maven operacji chociaż mogę użyć./mvnw
do tego samego celu.Polecenie
mvnw
używa Maven, który jest domyślnie pobierany~/.m2/wrapper
przy pierwszym użyciu.Adres URL z Maven jest określony w każdym projekcie na
.mvn/wrapper/maven-wrapper.properties
:Aby zaktualizować lub zmienić wersję Maven, wywołaj następujące (pamiętaj o
--non-recursive
projektach wielomodułowych):lub po prostu zmodyfikuj
.mvn/wrapper/maven-wrapper.properties
ręcznie.Aby wygenerować opakowanie od zera za pomocą Maven (musisz mieć to już
PATH
uruchomione:źródło
Maven Wrapper jest doskonałym wyborem dla projektów, które wymagają specyficznej wersji Maven (lub dla użytkowników, którzy nie chcą się zainstalować Maven w ogóle). Zamiast instalować wiele jego wersji w systemie operacyjnym, możemy po prostu użyć skryptu opakowania specyficznego dla projektu.
mvnw: jest wykonywalnym skryptem powłoki Uniksa używanym zamiast w pełni zainstalowanego Maven
mvnw.cmd : dotyczy środowiska Windows
Przypadków użycia
Opakowanie powinno współpracować z różnymi systemami operacyjnymi, takimi jak:
Następnie możemy uruchomić nasze cele w następujący sposób dla systemu Unix:
Oraz następujące polecenie dla partii:
Jeśli nie mamy określonego Maven we właściwościach opakowania, zostanie on pobrany i zainstalowany w folderze
$USER_HOME/.m2/wrapper/dists
systemu.Wtyczka Maven Wrapper
Wtyczka Maven Wrapper do automatycznej instalacji w prostym projekcie Spring Boot.
Najpierw musimy przejść do głównego folderu projektu i uruchomić następującą komendę:
Możemy również określić wersję Maven:
Opcja -N oznacza –nierekurencyjny, dzięki czemu opakowanie zostanie zastosowane tylko do głównego projektu bieżącego katalogu, a nie do żadnych podmodułów.
źródło
Zdecydowanie najlepszą opcją byłoby użycie kontenera maven jako narzędzia do budowania. Wystarczy
mvn.sh
taki skrypt:źródło