Bir Spring Boot uygulaması oluşturduğumda projenin kökündeki dosyaları mvnw
ve mvnw.cmd
dosyaları görebiliyordum . Bu iki dosyanın amacı nedir?
Bir Spring Boot uygulaması oluşturduğumda projenin kökündeki dosyaları mvnw
ve mvnw.cmd
dosyaları görebiliyordum . Bu iki dosyanın amacı nedir?
Yanıtlar:
Bu dosyalar Maven sarıcıdan . Gradle sargıya benzer şekilde çalışır .
Bu, Maven'i yolda kurup sunmadan Maven projesini çalıştırmanıza izin verir. Bulunmazsa doğru Maven sürümünü indirir (varsayılan olarak kullanıcı ana dizininizde bildiğim kadarıyla).
mvnw
Dosya Linux (bash) içindir ve mvnw.cmd
Windows ortamında içindir.
Gerekli tüm Maven Wrapper dosyalarını oluşturmak veya güncellemek için aşağıdaki komutu yürütün:
mvn -N io.takari:maven:wrapper
Maven'in farklı bir sürümünü kullanmak için sürümü aşağıdaki gibi belirleyebilirsiniz:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Her iki komut üzerinde maven gerektiren PATH
(maven yolunu eklemek bin
için Path
zaten kullanabilirsiniz projenizde mvnw varsa Sistem Değişkenler'i) ./mvnw
yerine mvn
komutları.
Komut mvnw
, varsayılan ~/.m2/wrapper
olarak ilk kullanımda indirilen Maven'i kullanır.
Maven ile URL her projede şu adreste belirtilir .mvn/wrapper/maven-wrapper.properties
:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
Maven sürümünü güncellemek veya değiştirmek için aşağıdakileri çağırın ( --non-recursive
çok modüllü projeler için unutmayın ):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
veya yalnızca .mvn/wrapper/maven-wrapper.properties
manuel olarak değiştirin .
Maven kullanarak sıfırdan sarıcı oluşturmak için (zaten PATH
çalışır durumda olması gerekir :
mvn io.takari:maven:wrapper -Dmaven=3.3.9
Maven Sarıcı Maven (veya hiç Maven'i yüklemek istemeyen kullanıcılar için) Belirli bir sürümü gerekir projeler için mükemmel bir seçimdir. Birçok sürümünü işletim sistemine yüklemek yerine, sadece projeye özgü sarmalayıcı komut dosyasını kullanabiliriz.
mvnw: tam yüklü bir Maven yerine kullanılan yürütülebilir bir Unix kabuk betiği
mvnw.cmd : Windows ortamı için
Kullanım Örnekleri
Sarıcı aşağıdakiler gibi farklı işletim sistemleriyle çalışmalıdır:
Bundan sonra, Unix sistemi için hedeflerimizi bu şekilde yürütebiliriz:
./mvnw clean install
Ve Batch için aşağıdaki komut:
./mvnw.cmd clean install
Sarıcı özelliklerinde belirtilen Maven'imiz yoksa $USER_HOME/.m2/wrapper/dists
, sistem klasörüne indirilir ve yüklenir .
Maven Wrapper eklentisi
Maven Wrapper eklentisi , basit bir Spring Boot projesinde otomatik kurulum yapmak için.
İlk olarak, projenin ana klasörüne gitmeli ve şu komutu çalıştırmalıyız:
mvn -N io.takari:maven:wrapper
Maven sürümünü de belirleyebiliriz:
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
-N seçeneği –no-özyinelemeli anlamına gelir, böylece sarmalayıcı herhangi bir alt modülde değil, yalnızca geçerli dizinin ana projesine uygulanır.
Şimdiye kadar en iyi seçenek, bir oluşturucu aracı olarak bir maven kabı kullanmak olacaktır. Bunun mvn.sh
gibi bir komut dosyası yeterli olacaktır:
#!/bin/bash
docker run --rm -ti \
-v $(pwd):/opt/app \
-w /opt/app \
-e TERM=xterm \
-v $HOME/.m2:/root/.m2 \
maven mvn "$@"
mvn
kullanabilsem de maven işlemi için komut kullanıyordum./mvnw
.