Java'da maven-assembly-plugin kullanarak .jar / .tar.gz / .zip Arşiv dosyası nasıl oluşturulur? Maven ve Enterprise Proje Eğitimi
Yayınlanan: 2020-10-07
Maven
oldukça şaşırtıcı. Pek çok eklenti ile şu anda piyasadaki Best Java Build tool
biridir.
Tüm projelerimde kullanıyorum ve büyük ölçüde buna bağlı. İnşa olanakları sonsuzdur. Bir süre önce diğer pek çok maven eklentisi hakkında farklı öğreticiler yazdım ve maven-assembly-plugin
gözden geçireceğiz.
Maven Montaj Eklentisi, yürütülmesini dikte etmek için sağlanan derleme tanımlayıcılarına güvenir.
Önceki maven eklentileri öğreticisinin bir listesi:
-
maven-war-plugin
– Proje .war dosyası oluşturun. -
maven-resources-plugin
,maven-dependency-plugin
&maven-jar-plugin
– Tüm Bağımlılıkları içeren Java Projesi Oluştur? -
maven-shade-plugin
– Tüm Gerekli Bağımlılıklar, Özellikler ve Kaynaklar ile Java+Bahar Tabanlı yürütülebilir .jar oluşturun.
Aşağıdaki sorulardan herhangi biri var mı? Bu eğitim de bunun için çalışacaktır.
- Maven ile jar dosyası nasıl oluşturulur?
- Bağımlılıklarla jar dosyası oluşturmak için maven nasıl kullanılır
- Kavanoz oluşturmak için pom.xml kullanın
- Bağımlılık olmadan maven kavanozu oluşturmanın en iyi yolu
- Bağımlılıklar dahil maven kavanozu nasıl oluşturulur
Maven-assembly-plugin ile başlayalım
Aşama 1
Eclipse ortamında Yeni Maven projesi oluşturun. CrunchifyMavenBuildPlugins
olarak adlandırın. Mevcut Dinamik Web Projeniz veya Java Projeniz varsa, bu adımları kullanarak projeyi maven projesine dönüştürebilirsiniz. Projeyi Maven'e dönüştürdükten sonra, bu eğitim için ihtiyacımız olan pom.xml
dosyasının oluşturulduğunu görmelisiniz.
İşte projemin yapısı. /src/com/crunchify/tutorials
paketi altında toplam 8 java files
bulunan mevcut projemi kullanıyorum.

Adım 2
Projenizin pom.xml dosyasını açın, yeni <plugin></plugin>
ekleyin, özellikle line 28 to 38
38'e kadar olan satırları ekleyin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
< 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 > CrunchifyMavenBuildPlugins < / groupId > < artifactId > CrunchifyMavenBuildPlugins < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < name > CrunchifyMavenBuildPlugins < / name > < properties > < project . build . sourceEncoding > UTF - 8 < / project . build . sourceEncoding > < / properties > < dependencies > < dependency > < groupId > wsdl4j < / groupId > < artifactId > wsdl4j < / artifactId > < version > 1.6.3 < / version > < / dependency > < dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 2.0 < / version > < / dependency > < / dependencies > < build > < plugins > < plugin > < artifactId > maven - assembly - plugin < / artifactId > < version > 2.5.3 < / version > < configuration > < descriptors > < descriptor > src / com / crunchify / assembly / crunchify . xml < / descriptor > < / descriptors > < tarLongFileMode > posix < / tarLongFileMode > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Aşama 3
Yeni crunchify.xml
dosyası oluşturun ve /src/com/crunchify/assembly
paketinin altına koyun. Bu dosyayı zaten yukarıdaki pom.xml
dosyasında belirtmiştik.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
< assembly xmlns = "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd" > < id > bundle < / id > < formats > < format > tar . gz < / format > < format > zip < / format > < format > tar < / format > < / formats > < includeBaseDirectory > false < / includeBaseDirectory > < fileSets > < fileSet > < directory > src / com / crunchify / tutorial < / directory > < outputDirectory > crunchify - output < / outputDirectory > < / fileSet > < / fileSets > < / assembly > |
Burada projemizi 3 farklı <formats>
olarak dışa aktarıyoruz.
- tar.gz
- fermuar
- katran
<directory>
etiketi şunu gösterir – her şeyi src/com/crunchify/tutorial
paketinin altına alın ve <outputDirectory>
etiketi altında belirtilen crunchify-output
klasörüne koyun.
/src
veya /resource
klasör içeriği gibi her şeyi dahil etmek istiyorsanız, aşağıdaki farklı varyasyonları kullanabilirsiniz:
- <directory>
src/com/crunchify/tutorial
</directory> - <directory>
src
</directory> : src klasörü altındaki her şey - <dizin>
resources
</dizin> : kaynaklar klasörü altındaki her şey - <directory>
/
</directory> : her şey
4. Adım
CrunchifyMavenBuildPlugins => Farklı Run As
=> Maven build
projesine sağ tıklayın

- Hedefleri
clean assembly:assembly
-
Apply
tıklayın -
Run
tıklayın

Adım 5
Konsolda BUILD SUCCESS
mesajını görmelisiniz.
1 2 3 4 5 6 7 8 9 |
[ INFO ] --- maven - assembly - plugin : 2.5.3 : assembly ( default - cli ) @ CrunchifyMavenBuildPlugins --- [ INFO ] Reading assembly descriptor : src / com / crunchify / assembly / crunchify . xml [ INFO ] Building tar : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . tar . gz [ INFO ] Building zip : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . zip [ INFO ] Building tar : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . tar [ INFO ] ------------------------------------------------------------------------ [ INFO ] BUILD SUCCESS [ INFO ] ------------------------------------------------------------------------ [ INFO ] Total time : 1.719 s |
Adım-6
NOTE:
Bu adımı gerçekleştirmeniz gerekmez.

Bu hatayı alıyor musunuz? Assembly oluştururken bu hata mesajını görürseniz, pom.xml dosyasına aşağıdaki satırı eklemeniz gerekir.
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
1. denememde yukarıdaki hatayı aldım. Bu yüzden yukarıdaki pom.xml dosyasına tarLongFileMode
eklendi.
Adım-7
Şimdi how to verify
? Lütfen projenizin target
klasörüne gidin ve .tag.gz file contents
görmek için aşağıdaki komutu çalıştırın.
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

Herhangi bir sorunuz varsa ve bunu çalıştırırken herhangi bir sorunla karşılaşırsanız bana bildirin.