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 -
Applytıklayın -
Runtı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.
