סוגי אריזה של Maven

1. סקירה כללית

סוג האריזה הוא היבט חשוב בכל פרויקט Maven. הוא מציין את סוג החפץ שהפרויקט מייצר. באופן כללי, מבנה מייצר a קַנקַן, מִלחָמָה, פום, או הפעלה אחרת.

Maven מציעה סוגי אריזות ברירת מחדל רבים ומספקת גם את הגמישות להגדיר מותאם אישית.

במדריך זה נצלול עמוק לסוגי האריזה של Maven. ראשית, נסתכל על מחזורי החיים לבנות במייבן. לאחר מכן נדון בכל סוג אריזה, במה שהם מייצגים והשפעתם על מחזור החיים של הפרויקט. בסופו של דבר נראה כיצד להגדיר סוג אריזה מותאם אישית.

2. סוגי אריזות ברירת מחדל

Maven מציעה סוגי אריזות ברירת מחדל רבים הכוללים א קַנקַן, מִלחָמָה, אֹזֶן, פום, rar, פליטה, ו תוסף maven. כל סוג אריזה עוקב אחר מחזור חיים של בנייה המורכב משלבים. בדרך כלל, כל שלב הוא רצף של מטרות ומבצע משימה ספציפית.

לסוגי אריזה שונים יכולה להיות מטרה שונה בשלב מסוים. לדוגמא, בשלב החבילה של קַנקַן סוג אריזה, תוסף maven-jarמטרת הצנצנת מבוצעת. לעומת זאת, עבור א מִלחָמָה פּרוֹיֶקט, תוסף המלחמהמטרת המלחמה מבוצעת באותו שלב.

2.1. קַנקַן

ארכיון Java - או קַנקַן - הוא אחד מסוגי האריזה הפופולאריים ביותר. פרויקטים מסוג אריזה זה מייצרים קובץ zip דחוס עם ה- .קַנקַן סיומת. זה עשוי לכלול שיעורי Java טהורים, ממשקים, משאבים וקבצי מטא נתונים.

ראשית, בואו נסתכל על כמה מהקישורים המוגדרים כברירת מחדל של מטרה לבנייה עבור ה- קַנקַן:

  • אֶמְצָעִי: אֶמְצָעִי
  • מַהְדֵר: לְלַקֵט
  • אֶמְצָעִי: testResources
  • מַהְדֵר: testCompile
  • בטוח: מִבְחָן
  • קַנקַן: קַנקַן
  • להתקין: להתקין
  • לפרוס: לפרוס

ללא דיחוי, בואו נגדיר את סוג האריזה של a קַנקַן פּרוֹיֶקט:

קַנקַן

אם לא צוין דבר, מייבן מניח שסוג האריזה הוא קַנקַן.

2.2. מִלחָמָה

במילים פשוטות, ארכיון יישומי רשת - או מִלחָמָה - מכיל את כל הקבצים הקשורים ליישום אינטרנט. זה עשוי לכלול סרוולטים של Java, JSP, דפי HTML, מתאר פריסה ומשאבים קשורים. באופן כללי, מִלחָמָה יש קשרי מטרה זהים לזה של קַנקַן, אך למעט חריג אחד - שלב החבילה של מִלחָמָה יש מטרה אחרת, שהיא מִלחָמָה.

בלי ספק, קַנקַן ו מִלחָמָה הם סוגי האריזה הפופולאריים ביותר בקהילת ג'אווה. הבדל מפורט בין שני אלה עשוי להיות קריאה מעניינת.

בואו נגדיר את סוג האריזה של יישום אינטרנט:

מִלחָמָה

שאר סוגי האריזה פליטה, נָקוּב, ו rar יש גם מחזורי חיים דומים, אך לכל אחד מהם מטרת חבילה שונה.

פליטה:פליטה או נקוב:נָקוּב או rar:rar

2.3. אֹזֶן

ארכיון יישומים ארגוניים - או אֹזֶן - הוא קובץ דחוס המכיל יישום J2EE. הוא מורכב ממודול אחד או יותר שיכולים להיות מודולי אינטרנט (ארוזים כ- מִלחָמָה קובץ) או מודולי EJB (ארוזים כ- קַנקַן קובץ) או שניהם.

אם לומר זאת אחרת, אֹזֶן הוא סופר-סט של צנצנות ו מלחמות ודורש שרת יישומים להריץ את היישום, ואילו מִלחָמָה נדרש רק מיכל אינטרנט או שרת אינטרנט כדי לפרוס אותו. ההיבטים המבדילים בין שרת אינטרנט לשרת יישומים ומהם אותם שרתים פופולריים בג'אווה, הם מושגים חשובים עבור מפתח ג'אווה.

בואו נגדיר את ברירת המחדל של קשרי יעדים עבור אֹזֶן:

  • אֹזֶן: ליצור- יישום- xml
  • אֶמְצָעִי: אֶמְצָעִי
  • אֹזֶן: אֹזֶן
  • להתקין: להתקין
  • לפרוס: לפרוס

כך נוכל להגדיר את סוג האריזה של פרויקטים כאלה:

אֹזֶן

2.4. פום

בין כל סוגי האריזה, פום הוא הפשוט ביותר. זה עוזר ליצור אגרגטורים ופרויקטים של הורים.

פרויקט אגרגטור או רב-מודולים מרכיב תת-מודולים המגיעים ממקורות שונים. תתי מודולים אלה הם פרויקטים רגילים של Maven ועוקבים אחר מחזורי החיים שלהם. לאגרגטור POM יש את כל ההפניות של תת-מודולים תחת ה- מודולים אֵלֵמֶנט.

פרויקט הורים מאפשר לך להגדיר את יחסי הירושה בין POM. ה- POM האב חולק תצורות, תוספים ותלות מסוימים, יחד עם הגרסאות שלהם. רוב האלמנטים מההורה עוברים בירושה על ידי ילדיו - כולל יוצאים מן הכלל artifactId, שֵׁם, ו תנאים מוקדמים.

מכיוון שאין משאבים לעיבוד ואין קוד להרכיב או לבדוק. לפיכך, החפצים של פרויקטים של פום מייצרים את עצמם במקום כל הפעלה.

בואו נגדיר את סוג האריזה של פרויקט רב-מודולי:

פום

לפרויקטים כאלה מחזור החיים הפשוט ביותר המורכב משני שלבים בלבד: להתקין ו לפרוס.

2.5. תוסף maven

Maven מציעה מגוון תוספים שימושיים. עם זאת, יתכנו מקרים בהם תוספי ברירת המחדל אינם מספיקים. במקרה זה, הכלי מספק את הגמישות ליצור תוסף Maven, בהתאם לצרכי הפרויקט.

ליצירת תוסף, הגדר את סוג האריזה של הפרויקט:

תוסף maven

ה תוסף maven יש מחזור חיים דומה ל- קַנקַןמחזור החיים, אך עם שני יוצאים מן הכלל:

  • חיבור: מתאר קשור לשלב ייצור משאבים
  • חיבור: addPluginArtifactMetadata נוסף לשלב החבילה

עבור סוג זה של פרויקטים, א maven-plugin-api נדרשת תלות.

2.6. פליטה

שעועית ג'אווה ארגונית - או פליטה - עזרה ביצירת מדרגיים ומופצים בצד השרת. EJBs מספקים לעתים קרובות את ההיגיון העסקי של יישום. ארכיטקטורת EJB אופיינית מורכבת משלושה מרכיבים: Enterprise Java Beans (EJBs), מיכל ה- EJB ושרת יישומים.

עכשיו, בואו נגדיר את סוג האריזה של פרויקט EJB:

פליטה

ה פליטה לסוג האריזה יש גם מחזור חיים דומה לזה קַנקַן אריזה, אך עם מטרת חבילה אחרת. מטרת החבילה לפרויקט מסוג זה היא ejb:פליטה.

הפרויקט, עם פליטה סוג האריזה, דורש תוסף maven-ejb לביצוע יעדי מחזור החיים. Maven מספקת תמיכה ב- EJB 2 ו- 3. אם לא צוינה גרסה, משתמשים בגרסת ברירת המחדל 2.

2.7. rar

מתאם משאבים - או rar - הוא קובץ ארכיון המשמש כפורמט חוקי לפריסת מתאמי משאבים לשרת יישומים. בעיקרון, זהו מנהל התקן ברמת המערכת המחבר יישום Java למערכת מידע ארגונית (EIS).

הנה ההצהרה על סוג האריזה של מתאם משאבים:

rar

כל ארכיון מתאם משאבים מורכב משני חלקים: א קַנקַן קובץ המכיל קוד מקור ו- ra.xml המשמש כמתאר פריסה.

שוב, שלבי מחזור החיים זהים ל- קַנקַן אוֹ מִלחָמָה אריזה למעט חריג אחד: החֲבִילָה שלב מבצע את rar מטרה המורכבת מ- תוסף maven-rar לארוז את הארכיונים.

3. סוגי אריזה אחרים

עד כה בדקנו סוגי אריזה שונים שמייבן מציעה כברירת מחדל. עכשיו, בואו נדמיין שאנחנו רוצים שהפרויקט שלנו יפיק חפץ עם .רוכסן סיומת. במקרה זה, סוגי האריזה המוגדרים כברירת מחדל אינם יכולים לעזור לנו.

Maven מספק גם כמה סוגי אריזה נוספים באמצעות תוספים. בעזרת תוספים אלה אנו יכולים להגדיר סוג אריזה מותאם אישית ואת מחזור חיי הבנייה שלו. חלק מסוגים אלה הם:

  • msi
  • סל"ד
  • זֶפֶת
  • tar.bz2
  • tar.gz
  • tbz
  • רוכסן

כדי להגדיר סוג מותאם אישית, עלינו להגדיר אותו אריזהסוּג ו שלבים במחזור החיים שלו. לשם כך, צור א components.xml קובץ תחת src / main / resources / META-INF / מקלעת מַדרִיך:

 org.apache.maven.lifecycle.mapping.LifecycleMapping zip org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping org.apache.maven.plugins: maven-resources-plugin: resources com.baeldung.maven.plugins: maven-zip- תוסף: zip org.apache.maven.plugins: maven-install-plugin: להתקין org.apache.maven.plugins: maven-deploy-plugin: לפרוס 

עד כה, Maven לא יודע דבר על סוג האריזה החדש שלנו ומחזור חייו. כדי להפוך אותו לגלוי, בואו נוסיף את התוסף ב- פום קובץ הפרויקט והגדר הרחבות ל נָכוֹן:

  com.baeldung.maven.plugins maven-zip-plugin נכון 

כעת, הפרויקט יהיה זמין לסריקה, והמערכת תבדוק תוספים ו compnenets.xml גם קובץ.

מלבד כל הסוגים הללו, Maven מציעה הרבה סוגי אריזה אחרים באמצעות פרויקטים ותוספים חיצוניים. לדוגמה, נאר (ארכיון יליד), swf, ו swc הם סוגי אריזה לפרויקטים המייצרים תוכן של Adobe Flash ו- Flex. עבור פרויקטים כאלה, אנו זקוקים לתוסף המגדיר אריזה מותאמת אישית ומאגר המכיל את התוסף.

4. מסקנה

במאמר זה בחנו סוגי אריזה שונים הזמינים ב- Maven. כמו כן, הכרנו מה מייצגים סוגים אלו וכיצד הם שונים במחזורי החיים שלהם. בסופו של דבר למדנו גם כיצד להגדיר סוג אריזה מותאם אישית ולהתאים אישית את מחזור החיים של ברירת המחדל לבנות.

כל דוגמאות הקוד ב- Baeldung בנויות באמצעות Maven. הקפד לבדוק את תצורות Maven השונות שלנו ב- GitHub 0n.


$config[zx-auto] not found$config[zx-overlay] not found