في جافا كيفية إنشاء ملف أرشيف .jar / .tar.gz / .zip باستخدام maven-assembly-plugin؟ البرنامج التعليمي لمشروع Maven و Enterprise
نشرت: 2020-10-07
Maven
رائع جدا. مع وجود العديد من المكونات الإضافية ، تعد واحدة من Best Java Build tool
في السوق في الوقت الحالي.
أستخدمه في جميع مشاريعي ويعتمد عليه بشكل كبير. إمكانيات البناء لا حصر لها. في بعض الوقت ، كتبت دروسًا مختلفة حول العديد من المكونات الإضافية المخضرمة الأخرى ، وفي هذا maven-assembly-plugin
.
يعتمد البرنامج المساعد Maven Assembly على واصفات التجميع المتوفرة لإملاء تنفيذها.
فيما يلي قائمة بالمكونات الإضافية السابقة المخضرمة:
-
maven-war-plugin
- إنشاء مشروع ملف war. -
maven-resources-plugin
،maven-dependency-plugin
&maven-jar-plugin
- إنشاء مشروع Java بما في ذلك جميع التبعيات؟ -
maven-shade-plugin
- إنشاء Java + Spring قابل للتنفيذ .jar مع جميع التبعيات والخصائص والموارد المطلوبة.
هل لديك أي من الأسئلة أدناه؟ هذا البرنامج التعليمي سوف يعمل معها أيضًا.
- كيفية إنشاء ملف جرة مع Maven؟
- كيفية استخدام maven لإنشاء ملف jar مع التبعيات
- استخدم pom.xml لإنشاء وعاء
- أفضل طريقة لإنشاء وعاء مخضرم بدون تبعيات
- كيفية إنشاء مخضرم جرة بما في ذلك التبعيات
لنبدأ مع البرنامج المساعد maven-Assembly-plugin
الخطوة 1
إنشاء مشروع مخضرم جديد في بيئة Eclipse. سمها باسم CrunchifyMavenBuildPlugins
. إذا كان لديك مشروع Dynamic Web Project أو Java Project موجود ، فباستخدام هذه الخطوات ، يمكنك تحويل المشروع إلى مشروع maven. بعد تحويل المشروع إلى Maven ، يجب أن ترى ملف pom.xml
الذي تم إنشاؤه والذي نحتاجه لهذا البرنامج التعليمي.
هنا هيكل مشروعي. أنا أستخدم مشروعي الحالي الذي يحتوي على إجمالي 8 java files
ضمن حزمة /src/com/crunchify/tutorials
.

الخطوة 2
افتح ملف pom.xml الخاص بمشروعك وأضف سطرًا جديدًا من <plugin></plugin>
line 28 to 38
.
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 > |
الخطوه 3
قم بإنشاء ملف جديد crunchify.xml
وضعه ضمن حزمة /src/com/crunchify/assembly
. لقد أشرنا إلى هذا الملف بالفعل في ملف pom.xml
أعلاه.
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 > |
نحن هنا نقوم بتصدير مشروعنا إلى 3 <formats>
مختلفة

- tar.gz
- أزيز
- قطران
توضح علامة <directory>
أنه - احصل على كل شيء ضمن الحزمة src/com/crunchify/tutorial
وضعه ضمن مجلد crunchify-output
crunchify الموضح ضمن علامة <outputDirectory>
.
إذا كنت تريد تضمين كل شيء مثل محتويات مجلد /resource
/src
أو / Resource ، فيمكنك استخدام الأشكال المختلفة أدناه أدناه:
- <directory>
src/com/crunchify/tutorial
</directory> - <directory>
src
</directory>: كل شيء ضمن مجلد src - <directory>
resources
</ الدليل>: كل شيء ضمن مجلد الموارد - <directory>
/
</directory>: كل شيء
الخطوة 4
انقر بزر الماوس الأيمن فوق مشروع CrunchifyMavenBuildPlugins => Run As
باسم => Maven build

- توفير الأهداف كتجميع
clean assembly:assembly
- انقر فوق
Apply
- انقر فوق
Run

الخطوة 5
يجب أن ترى رسالة BUILD SUCCESS
على وحدة التحكم.
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 |
الخطوة 6
NOTE:
ليس عليك تنفيذ هذه الخطوة.

هل حصلت على هذا الخطأ؟ إذا رأيت رسالة الخطأ هذه أثناء إنشاء التجميع ، فعليك إضافة السطر أدناه إلى ملف pom.xml.
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
لقد حصلت على خطأ أعلاه في محاولتي الأولى. لذلك تم بالفعل إضافة tarLongFileMode
إلى ملف pom.xml أعلاه.
الخطوة 7
الآن how to verify
؟ يرجى الانتقال إلى المجلد target
لمشروعك وتشغيل الأمر أدناه للاطلاع على .tag.gz file contents
.
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

اسمحوا لي أن أعرف إذا كان لديك أي سؤال وتواجه أي مشكلة في تشغيل هذا.