برنامج Maven التعليمي: كل ما تحتاج لمعرفته للبدء



تغطي هذه المدونة الموجودة في البرنامج التعليمي Maven كل ما تحتاج إلى معرفته لبدء العمل مع Maven لبناء مشاريعك.

بدلاً من كتابة نصوص طويلة لبناء مشاريعك وتنزيل التبعيات يدويًا ، لماذا لا تستخدم Maven وتتخلص من هذه الفوضى. ستغطي هذه المدونة الموجودة على البرنامج التعليمي Maven كل ما تحتاجه للبدء في استخدام Maven لمشروعك. بعد فهم برنامج Maven التعليمي هذا تمامًا ، ستكون الخطوة المحتملة التالية هي تعلم Jenkins التي تغطي مرحلة التكامل المستمر لـ .

في هذه المدونة الخاصة ببرنامج Maven التعليمي ، سنغطي الموضوعات التالية:

  1. لماذا نحتاج مافن؟
  2. ما هو مافن؟
  3. مافن للهندسة المعمارية
  4. دورة حياة المخضرم ومراحلها وأهدافها
  5. مشروع تجريبي.

لماذا نحتاج مافن؟

إذا كنت تعمل في مشاريع Java ، فأنت بحاجة في معظم الأحيان إلى التبعيات. التبعيات ليست سوى مكتبات أو ملفات JAR. تحتاج إلى تنزيلها وإضافتها يدويًا. أيضًا ، تمت مهمة ترقية حزمة البرامج لمشروعك يدويًا قبل Maven. لذلك كانت هناك حاجة إلى أداة بناء أفضل للتعامل مع مثل هذه المشكلات.





هذا حيث يأتي Maven في الصورة. يستطيع المخضرم حل جميع مشاكلك المتعلقة بالتبعية. تحتاج فقط إلى تحديد التبعيات وإصدار البرنامج الذي تريده في ملف pom.xml في Maven وسيهتم Maven بالباقي.لذا دعونا الآن نحاول أن نفهم بالضبط ما هو Maven.

ما هو مافن؟

تم تطوير مشروع Maven بواسطة Apache Software Foundation حيث كان في السابق جزءًا من مشروع جاكرتا. Maven هي أداة أتمتة بناء قوية تستخدم بشكل أساسي للمشاريع القائمة على Java. يساعدك Maven في معالجة جانبين مهمين من برامج البناء -



  • يصف كيف يتم بناء البرامج
  • يصف التبعيات.

يفضل المخضرم الاتفاقية على التكوين. يقوم Maven ديناميكيًا بتنزيل مكتبات Java ومكونات Maven الإضافية من واحد أو أكثر من المستودعات مثل مستودع Maven المركزي ويخزنها في ذاكرة تخزين مؤقت محلية. يمكن أيضًا تحديث القطع الأثرية للمشاريع المحلية باستخدام ذاكرة التخزين المؤقت المحلية هذه. يمكن أن يساعدك Maven أيضًا في بناء وإدارة المشاريع المكتوبة بلغات C # و Ruby و Scala ولغات أخرى.

ملف نموذج كائن المشروع (POM) هو ملف XML يحتوي على معلومات تتعلق بالمشروع ومعلومات التكوين مثل التبعيات ، ودليل المصدر ، والمكوِّن الإضافي ، والأهداف ، وما إلى ذلك التي يستخدمها Maven لبناء المشروع. عند تنفيذ أمر maven ، فإنك تعطي maven ملف POM لتنفيذ الأوامر. يقرأ Maven ملف pom.xml لإتمام تكوينه وعملياته.

أهداف Maven

أهداف Maven

متى يجب على شخص ما استخدام Maven؟

    1. إذا كان هناك الكثير من التبعيات للمشروع.
    2. عندما يتم تحديث إصدار التبعية بشكل متكرر.
    3. يمكن التعامل مع عمليات الإنشاء والتكامل والاختبار المستمرة بسهولة باستخدام maven.
    4. عندما يحتاج المرء إلى طريقة سهلة لإنشاء وثائق من الكود المصدري ، وتجميع الكود المصدري ، وتعبئة الكود المترجم في ملفات JAR أو ملفات ZIP.

مافن للهندسة المعمارية

دورة حياة المخضرم ومراحلها وأهدافها

1. دورة حياة المخضرم



هناك دورة حياة محددة يتبعها Maven لنشر وتوزيع المشروع المستهدف.

هناك ثلاث دورات حياة مدمجة:

  • إفتراضي - هذه هي دورة الحياة الرئيسية لشركة Maven لأنها مسؤولة عن نشر المشروع.
  • نظيف - تُستخدم دورة الحياة هذه لتنظيف المشروع وإزالة جميع الملفات التي تم إنشاؤها بواسطة البنية السابقة.
  • موقع - الهدف من دورة الحياة هذه هو إنشاء وثائق موقع المشروع.

تتكون كل دورة حياة من سلسلة من المراحل. تتكون دورة حياة البناء الافتراضية من 23 مرحلة حيث إنها دورة حياة البناء الرئيسية لـ Maven

من ناحية أخرى ، تتكون دورة الحياة النظيفة من 3 مراحل ، بينما تتكون دورة حياة الموقع من 4 مراحل.

2. مراحل المخضرم

مرحلة المخضرم ليست سوى مرحلة في دورة حياة بناء المخضرم. كل مرحلة تنفذ مهمة محددة.

فيما يلي بعض المراحل المهمة في دورة حياة البناء الافتراضية -

system.exit (1) جافا
  • التحقق من صحة - تتحقق هذه المرحلة من توفر جميع المعلومات اللازمة للبناء
  • تجميع - تجمع هذه المرحلة الكود المصدري
  • اختبار تجميع - تجمع هذه المرحلة الكود المصدري للاختبار
  • اختبار - تجري هذه المرحلة اختبارات الوحدة
  • صفقة - جمعت حزم المرحلة هذه الكود المصدري في تنسيق قابل للتوزيع (جرة ، حرب)
  • إختبار الإدماج - تعالج هذه المرحلة الحزمة وتنشرها إذا لزم الأمر لإجراء اختبارات التكامل
  • تثبيت - تقوم هذه المرحلة بتثبيت الحزمة في مستودع محلي
  • نشر - تقوم هذه المرحلة بنسخ الحزمة إلى المستودع البعيد

يقوم المخضرم بتنفيذ المراحل بترتيب معين. هذا يعني أننا إذا قمنا بتشغيل مرحلة معينة باستخدام الأمر مثل mvn ، فلن يؤدي ذلك إلى تنفيذ المرحلة المحددة فحسب ، بل تنفيذ جميع المراحل السابقة أيضًا.

على سبيل المثال ، إذا قمت بتشغيل الأمر mvn publish ، أي مرحلة النشر وهي المرحلة الأخيرة في دورة حياة البناء الافتراضية ، فسيؤدي ذلك إلى تنفيذ جميع المراحل السابقة لمرحلة النشر أيضًا.

3. أهداف مخضرم

يشكل تسلسل الأهداف مرحلة وينفذ كل هدف مهمة محددة. عندما تقوم بتشغيل مرحلة ، فإن Maven ينفذ جميع الأهداف بالترتيب المرتبط بتلك المرحلة. الصيغة المستخدمة هي plugin: target. بعض المراحل والأهداف الافتراضية المرتبطة بها هي كما يلي:

  • المترجم: مرحلة التحويل البرمجي
  • المترجم: اختبار - مرحلة اختبار الترجمة
  • سوريفاير: اختبار - اختبار المرحلة
  • التثبيت: التثبيت - مرحلة التثبيت
  • الجرة والحرب: الحرب - مرحلة الحزمة

البرنامج المساعد Maven هو مجموعة من الأهداف. ومع ذلك ، فإن هذه الأهداف ليست بالضرورة كلها مرتبطة بنفس المرحلة.على سبيل المثال ، المكون الإضافي Maven Failsafe المسؤول عن تشغيل اختبارات التكامل. لاختبار الوحدة ، تحتاج إلى البرنامج المساعد Maven surefire.

شرح هندسة mvc في جافا مع المثال

مشروع تجريبي

في هذا القسم من مخضرم درس تعليمي ، سوف نلقي نظرة على مشروع تجريبي. لتوضيح كيفية بناء مشروع باستخدام Maven ، قمت بإنشاء ملف مشروع Java مع TestNG باستخدام Eclipse IDE. هذا برنامج بسيط للغاية حيث قمت بكتابة رمز لاختبار عنوان موقع ويب.

سيقوم البرنامج تلقائيًا بتشغيل متصفح الويب ، والانتقال إلى موقع الويب المذكور في الكود ، وجلب عنوان صفحة الويب هذه ومقارنتها بالعنوان المتوقع. إذا تطابق العنوان الفعلي والعنوان المتوقع ، فإن حالة الاختبار تمر وإلا فشلت.

لذلك تحتاج لهذا المشروع تنزيل Maven و Eclipse على نظامك. الإصدارات التي أستخدمها على نظامي هي كما يلي -

  1. كسوف - إصدار Enterprise Edition 4.12.0 (2019-06)
  2. جافا - الإصدار 1.8.0_211
  3. مخضرم - الإصدار 3.6.1
  • بصرف النظر عن هذا ، تحتاج إلى تنزيل المكون الإضافي TestNG لـ Eclipse ويمكنك تنزيله باستخدام الخطوات التالية -
    • افتح Eclipse وانتقل إلى Help. في المساعدة ، انقر فوق سوق Eclipse.
    • اكتب TestNG في مربع البحث وانقر على Go. في النتائج ، سترى 'TestNG for Eclipse'. تحتاج إلى تنزيله.
  • بعد إعداد نظامك بالأشياء المذكورة أعلاه ، تكون جاهزًا لإنشاء مشروع تجريبي باستخدام Maven. لذا سأخبركم الآن بكل الخطوات المطلوبة للقيام بذلك.
    • في Eclipse ، انقر فوق ملف -> جديد -> مشروع Maven.
    • انقر فوق إنشاء مشروع بسيط (تخطي اختيار النموذج الأصلي) ثم انقر فوق التالي.
  • سترى الآن نافذة بها معلمات مثل معرف المجموعة ومعرف الأداة وما إلى ذلك.
    • معرف المجموعة هو معرف فريد للمجموعة التي تمتلك المشروع.
    • معرف القطع الأثرية هو اسم وحدة الترجمة النهائية.
    • الإصدار هو نسخة الأداة التي تم إنشاؤها. يشير SNAPSHOT إلى العمل الجاري.
    • يمكن أن يكون التغليف عبارة عن جرة أو حرب أو بوم حسب مشروعك. بالنسبة لمشروعنا ، سنختار الجرة. ثم اكتب اسم مشروعك.

  • بمجرد إنشاء المشروع ، سترى هيكل مشروع مشروع Maven الخاص بك. هنا يمكنك رؤية الأشياء التالية -
    • pom.xml
    • src والهدف
    • src / main / java
    • src / test / java
    • تبعيات المخضرم
  • الآن قم بإنشاء ملف فصل دراسي في src / main / test وقم بتسميته DemoClass. تحتوي هذه الفئة على رمز السيلينيوم الذي نستخدمه للاختبار. الآن أضفنا تبعيات السيلينيوم و TestNG و Maven compiler و Surefire plugin إلى ملف pom.xml. رمز DemoClass و pom.xml موضح أدناه:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {Test public void test () يطرح InterruptException {// بيان و إنشاء مثيل للكائنات / المتغيرات //System.setProperty('webdriver.gecko.driver'،'/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // قم بالتعليق على سطرين أعلاه وإلغاء التعليق أدناه 2 الأسطر لاستخدام Chrome System.setProperty ('webdriver.chrome.driver'، 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String dueTitle = 'مرحبًا: Mercury Tours' String activeTitle = '// قم بتشغيل Fire fox وتوجيهه إلى برنامج التشغيل URL الأساسي (baseUrl) // احصل على القيمة الفعلية للعنوان الفعلي: العنوان الفعلي = driver.getTitle () Thread.sleep (3000 ) / * * قارن العنوان الفعلي للصفحة مع العنوان المتوقع وقم بطباعة * النتيجة كـ 'ناجح' أو 'فشل' * / if (realTitle.contentEquals (dueTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // close Fire fox driver.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 testng
  • قبل تشغيل المشروع ، نحتاج إلى تحويل ملف الفصل DemoClass إلى ملف TestNG. للقيام بذلك ، انقر بزر الماوس الأيمن على DemoClass -> TestNG -> Convert to TestNG.

  • الآن لتشغيل المشروع ، انقر بزر الماوس الأيمن فوق المشروع -> تشغيل كـ -> Maven clean. سيؤدي هذا إلى مسح المشروع عن طريق إزالة جميع البنيات السابقة.

  • بعد Maven clean ، تحتاج إلى اختبار المشروع لأننا كتبنا الكود لاختبار تطبيق الويب. لذا انقر بزر الماوس الأيمن فوق المشروع -> تشغيل كـ -> اختبار Maven. سيؤدي هذا إلى فتح موقع الويب ومطابقة عنوان الموقع. إذا تطابقت ، فسوف تمر حالة الاختبار الخاصة بنا.

  • يمكننا أيضًا تنفيذ الأوامر المذكورة أعلاه باستخدام موجه الأوامر. لذلك ، نحتاج إلى مسار ملف pom.xml.

    • يمكنك الحصول على المسار عن طريق النقر بزر الماوس الأيمن على ملف pom.xml -> خصائص -> الموقع.
    • انسخ المسار ، ثم افتح موجه الأوامر والصقه هناك باستخدام القرص المضغوط. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • بمجرد القيام بذلك ، يمكنك مرة أخرى كتابة أوامر Maven مثل mvn clean و mvn test.

إذن هذا هو من جانبي في هذه المدونة على برنامج Maven التعليمي. آمل أن تكون قد فهمت الأشياء التي ناقشناها في هذا البرنامج التعليمي Maven.

الآن بعد أن فهمت هذا البرنامج التعليمي Maven ، تحقق من هذا من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تساعد الدورة التدريبية لشهادة Edureka DevOps المتعلمين على فهم ما هو DevOps واكتساب الخبرة في عمليات وأدوات DevOps المختلفة مثل Puppet و Jenkins و Nagios و Ansible و Chef و Saltstack و GIT لأتمتة خطوات متعددة في SDLC.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذا البرنامج التعليمي Maven وسنعاود الاتصال بك