מדריך Maven: כל מה שאתה צריך לדעת כדי להתחיל



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

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

בבלוג זה במדריך Maven, נסקור את הנושאים הבאים:

  1. למה אנחנו צריכים את מייבן?
  2. מה זה מייבן?
  3. אדריכלות Maven
  4. מחזור חיים של Maven, שלבים ומטרות
  5. פרויקט הדגמה.

למה אנחנו צריכים את מייבן?

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





זה המקום בו מייבן נכנס לתמונה. Maven יכול לפתור את כל הבעיות שלך הקשורות לתלות. אתה רק צריך לציין את התלות ואת גרסת התוכנה שאתה רוצה בקובץ pom.xml ב- Maven ו- Maven.אז בואו ננסה להבין מה זה בדיוק מייבן.

מה זה מייבן?

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



  • הוא מתאר כיצד בנויה תוכנה
  • זה מתאר את התלות.

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

קובץ POM (Project Object Model) הוא קובץ XML המכיל מידע הקשור לפרויקט ומידע תצורה כגון תלות, ספריית מקור, תוסף, יעדים וכו 'המשמשים את Maven לבניית הפרויקט. כשאתה מבצע פקודת maven אתה נותן ל- maven קובץ POM לביצוע הפקודות. Maven קורא את הקובץ pom.xml כדי לבצע את תצורתו ופעולותיו.

כיצד ליצור מערך של אובייקטים

מטרות Maven

מטרות Maven

מתי מישהו צריך להשתמש ב- Maven?

    1. אם יש יותר מדי תלות בפרויקט.
    2. כאשר גרסת התלות מתעדכנת לעתים קרובות.
    3. ניתן לטפל בקלות בבניינים, אינטגרציה ובדיקות רציפות באמצעות maven.
    4. כשצריך דרך קלה ליצור תיעוד מקוד המקור, קומפילציה של קוד המקור, אריזת קוד מהול לקבצי JAR או קבצי ZIP.

אדריכלות Maven

מחזור חיים של Maven, שלבים ומטרות

1. מחזור חיים של Maven



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

ישנם שלושה מחזורי חיים מובנים:

  • בְּרִירַת מֶחדָל - זהו מחזור החיים העיקרי של Maven מכיוון שהוא אחראי על פריסת הפרויקט.
  • לְנַקוֹת - מחזור חיים זה משמש לניקוי הפרויקט והסרת כל הקבצים שנוצרו מהבנייה הקודמת.
  • אֲתַר - המטרה של מחזור חיים זה היא ליצור את תיעוד האתר של הפרויקט.

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

מצד שני, מחזור חיים נקי מורכב משלושה שלבים, ואילו מחזור חיי האתר מורכב מ -4 שלבים.

2. שלבי Maven

איך להוסיף ב- Java - -

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

להלן מספר שלבים חשובים במחזור החיים של ברירת המחדל לבנות -

  • לְאַמֵת - שלב זה בודק אם כל המידע הדרוש לבנייה זמין
  • לְלַקֵט - שלב זה מהדר את קוד המקור
  • מבחן-קומפילציה - שלב זה מהדר את קוד המקור לבדיקה
  • מִבְחָן - שלב זה מריץ בדיקות יחידה
  • חֲבִילָה - שלב זה חבילות קוד מקור מהולס לפורמט להפצה (צנצנת, מלחמה)
  • מבחן האינטגרציה - שלב זה מעבד ומפרס את החבילה במידת הצורך להפעלת מבחני אינטגרציה
  • להתקין - שלב זה מתקין את החבילה למאגר מקומי
  • לפרוס - שלב זה מעתיק את החבילה למאגר המרוחק

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

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

3. מטרות Maven

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

  • מהדר: הידור - שלב הידור
  • מהדר: מבחן - שלב בדיקת קומפילציה
  • בטוח: מבחן - שלב הבדיקה
  • להתקין: להתקין - שלב ההתקנה
  • צנצנת ומלחמה: מלחמה - שלב החבילה

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

פרויקט הדגמה

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

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

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

  1. ליקוי חמה - מהדורת Enterprise גרסה 4.12.0 (2019-06)
  2. ג'אווה - גרסה 1.8.0_211
  3. Maven - גרסה 3.6.1
  • מלבד זאת, עליך להוריד את תוסף TestNG ל- Eclipse ותוכל להוריד אותו באמצעות השלבים הבאים -
    • פתח את הליקוי ועבור אל עזרה. בעזרה לחץ על שוק הליקוי.
    • הקלד TestNG בתיבה מצא ולחץ על המשך. בתוצאות תראה 'TestNG for Eclipse'. אתה צריך להוריד אותו.
  • לאחר שתגדיר את המערכת שלך עם הדברים הנ'ל, אתה מוכן ליצור פרויקט הדגמה באמצעות Maven. אז עכשיו אני אגיד לכם את כל הצעדים הנדרשים לשם כך.
    • בליקוי חמה לחץ על קובץ -> חדש -> פרויקט Maven.
    • לחץ על צור פרוייקט פשוט (דלג על בחירת ארכיטיפ) ואז לחץ על הבא.
  • כעת תראה חלון עם פרמטרים כגון מזהה קבוצה, מזהה חפץ וכן הלאה.
    • מזהה קבוצתי הוא המזהה הייחודי של קבוצה שבבעלות הפרויקט.
    • Artifact Id הוא שמה של יחידת האוסף הסופית.
    • גרסה היא הגרסה של החפץ שנוצר. SNAPSHOT מציין עבודה בתהליך.
    • האריזה יכולה להיות צנצנת, מלחמה או פום בהתאם לפרויקט שלך. לפרויקט שלנו נבחר צנצנת. ואז ציין את שם הפרויקט שלך.

  • לאחר שתיצור את הפרויקט, תראה את מבנה הפרויקט של פרויקט Maven שלך. כאן תוכלו לראות את הדברים הבאים -
    • pom.xml
    • src ויעד
    • src / main / java
    • src / test / java
    • תלות במייב
  • עכשיו צור קובץ מחלקה ב- src / main / test ושמו DemoClass. מחלקה זו מכילה את קוד הסלניום בו אנו משתמשים לבדיקה. כעת הוספנו תלות סלניום, TestNG ומהדר Maven ותוסף Surefire לקובץ pom.xml. הקוד עבור DemoClass ו- pom.xml ניתן להלן:
חבילה maven.selenium.testng ייבוא ​​org.openqa.selenium.WebDriver ייבוא ​​org.openqa.selenium.chrome.ChromeDriver ייבוא ​​org.testng.annotations.Test ציבורי מחלקה DemoClass {@Test מבטל הריק הציבורי () זורק מופרע Exception {// הצהרה ו ייצוב של אובייקטים / משתנים // System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // מנהל ההתקן של WebDriver = FirefoxDriver חדש () // תגובה על שתי השורות שלעיל ואי תגובה מתחת 2 קווים לשימוש ב- Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') מנהל התקן WebDriver = ChromeDriver חדש () מחרוזת baseUrl = 'http://newtours.demoaut.com/' מחרוזת expectTitle = 'ברוך הבא: מחרוזת סיור של מרקורי actualTitle =' // הפעל את Fire fox והפנה אותו אל מנהל ההתקן של URL URL.get (baseUrl) // קבל את הערך האמיתי של הכותרת actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * השווה את הכותרת האמיתית של הדף לזה הצפוי והדפס * התוצאה כ- 'עבר' או 'נכשל' * / אם (actualTitle.contentEquals (expectTitle)) {System.out.println ('הבדיקה עברה!')} אחר {System.out.println ('הבדיקה נכשלה')} // סגור את מנהל התקן השועל Fire.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 test
  • לפני הפעלת הפרויקט עלינו להמיר את קובץ המחלקה DemoClass לקובץ TestNG. לשם כך לחץ באמצעות לחצן העכבר הימני על DemoClass -> TestNG -> Convert to TestNG.

  • כעת להפעלת הפרויקט, לחץ לחיצה ימנית על פרויקט -> הפעל כ-> Maven clean. פעולה זו תנקה את הפרויקט על ידי הסרת כל הגרסאות הקודמות.

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

    מחרוזת עד כה להמיר בג'אווה
  • אנו יכולים גם לבצע את הפקודות הנ'ל באמצעות שורת פקודה. לשם כך אנו זקוקים לנתיב של קובץ pom.xml.

    • תוכל להשיג את הנתיב על ידי לחיצה ימנית על קובץ pom.xml -> מאפיינים -> מיקום.
    • העתק את הנתיב ואז פתח שורת פקודה והדבק אותה שם באמצעות תקליטור. cd C: / משתמשים / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • לאחר שתעשה זאת, תוכל שוב להקליד פקודות Maven כגון mvn clean ו- mvn test.

אז זהו שזה מהצד שלי בבלוג זה במדריך Maven. אני מקווה שהבנתם את הדברים עליהם דנו במדריך זה של Maven.

עכשיו אחרי שהבנת את המדריך הזה של Maven, בדוק זאת מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים להבין מה זה DevOps ולצבור מומחיות בתהליכים וכלים שונים של DevOps כגון Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ו- GIT לאוטומציה של מספר שלבים ב- SDLC.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות במדריך זה של Maven ונחזור אליך