CodeGym /مدونة جافا /Random-AR /الجزء 4. أساسيات مخضرم
John Squirrels
مستوى
San Francisco

الجزء 4. أساسيات مخضرم

نشرت في المجموعة
هذه المادة جزء من سلسلة "مقدمة لتطوير المشاريع". المقالات السابقة: الجزء 4. أساسيات Maven - 1Maven هي أداة لإدارة وبناء المشاريع - مساعد مفيد لمبرمج Java. فهو يجعل الحياة أسهل للمطورين في كل مرحلة من مراحل العمل: بدءًا من إنشاء هيكل المشروع وربط المكتبات الضرورية وحتى نشر المنتج على الخادم. سيكون عليك استخدام Maven عند العمل مع أي إطار عمل. لذا، دعونا اليوم نلقي نظرة على وظائفه الرئيسية ونرى كيفية استخدامها.

تثبيت Maven خطوة بخطوة

  1. أولاً، نحتاج إلى تثبيت Maven. قم بتنزيله من هذا الرابط .

  2. بعد ذلك، قم بفك ضغط الأرشيف الذي تم تنزيله وقم بتعيين متغير البيئة M2_HOME على موقع الأرشيف الذي تم فك ضغطه. على سبيل المثال، C:\\Program Files\\maven\\

  3. للتأكد من تثبيت كل شيء، قم بتنفيذ ما يلي في سطر الأوامر:

    نسخة Mvn

  4. إذا تم عرض معلومات الإصدار لـ Maven وJava وما إلى ذلك، فكل شيء جاهز للعمل.

  5. الآن افتح IntelliJ IDEA وقم بإنشاء مشروع جديد. في النافذة الأولى، حدد Maven:

    الجزء 4. أساسيات Maven - 2
  6. انقر على "التالي" واملأ النافذة التي تظهر:

    الجزء 4. أساسيات Maven - 3
  7. ثم، كالعادة، قم بإنشاء مشروع أينما تريد.

    بعد إنشاء المشروع، لاحظ هيكله:

    الجزء 4. أساسيات Maven - 4
هذا هو الهيكل القياسي لمشروع Maven :
  • يحتوي المجلد src/main/java على فئات Java
  • يحتوي المجلد src/main/resources على الموارد التي يستخدمها التطبيق (صفحات HTML والصور وأوراق الأنماط وما إلى ذلك)
  • المجلد src/test مخصص للاختبارات
انتبه أيضًا إلى الملف المسمى pom.xml . هذا هو الملف الرئيسي لإدارة Maven . ويرد وصف المشروع بأكمله هنا. ليس هناك الكثير من المعلومات في الوقت الحالي، لكننا سنضيفها الآن.

إدارة التبعيات في Maven

ربما تكون قد صادفت عبارة "مدير التبعية". يعرف Maven كيفية إدارة التبعيات. بفضل Maven، لن تضطر إلى قضاء الكثير من الوقت في البحث على الإنترنت عن المكتبة المطلوبة وتنزيلها ثم توصيلها بمشروعك. بدلاً من ذلك، ما عليك سوى إضافة المكتبة المطلوبة إلى قائمة التبعيات في Maven.

يتم تحديد التبعيات في عقدة التبعيات لملف pom.xml

لنفترض أنك بحاجة إلى مكتبة Apache Commons IO في مشروعك لتبسيط العمل مع الملفات. لإضافة مكتبة، نكتب خمسة أسطر في pom.xml:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
الآن يجب أن يبدو ملف pom.xml الخاص بك كما يلي:
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
بعد ذلك، اسمح لـ IntelliJ IDEA باستيراد التبعية (يجب أن يظهر مربع حوار في الزاوية اليمنى السفلية). والآن أصبحت المكتبة جاهزة للاستخدام:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
يجب أيضًا كتابة جميع التبعيات اللاحقة داخل <dependencies>العلامة. ربما تتساءل عن كيفية معرفة المعلومات الخاصة بالمكتبة التي تحتاج إلى الإشارة إليها داخل العلامة <dependency>. هذا سهل. يلزم دائمًا تعيين ثلاث معلمات: "groupId" و"artifactId" و"version". هناك طريقتان لتحديد هذه المعلمات:
  1. على موقع المكتبة . إذا كنا بحاجة إلى مكتبة Apache Commons IO، فإننا نذهب إلى الموقع الرسمي ونختار علامة التبويب "معلومات التبعية". جميع المعلومات الضرورية موجودة هنا - يمكنك ببساطة نسخها وإضافتها إلى <dependencies>العقدة.

  2. في مستودع Maven . أدخل "Apache commons io" في شريط البحث وسترى جميع الإصدارات المتاحة من المكتبة. بعد اختيار الخيار الصحيح، ما عليك سوى نسخ ما يلي:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    وإضافته إلى pom.xml الخاص بك.

أنواع مستودعات Maven

من المفيد أن نذكر مستودعات Maven مرة أخرى، لأن لدينا بالفعل مستودعين منها: مستودع بعيد (مركزي) ومستودع محلي (على جهاز الكمبيوتر الخاص بك). يتم حفظ جميع المكتبات التي تضيفها إلى مشاريعك في المستودع المحلي. عندما يضيف Maven تبعية مطلوبة إلى مشروع، فإنه يتحقق أولاً مما إذا كانت المكتبة موجودة بالفعل في المستودع المحلي. يمكنه الوصول إلى المستودع البعيد فقط إذا لم يعثر على المكتبة محليًا. كما ترون، يمكنك استخدام Maven لإضافة التبعيات، ولكن هذا ليس كل ما يمكنه فعله.

بناء مشروع جافا باستخدام Maven

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

المراحل

تُعرف عملية بناء التطبيق بدورة حياة مشروع Maven، وتتكون من مراحل. يمكنك الاطلاع عليها في IDEA بالنقر فوق Maven > مثال > دورة الحياة في الزاوية اليمنى العليا: الجزء 4. أساسيات Maven - 5كما ترون، هناك 9 مراحل:
  1. تنظيف - يزيل جميع الملفات المجمعة من الدليل الهدف (المكان الذي يتم فيه حفظ العناصر النهائية)
  2. التحقق من الصحة - يتحقق من وجود جميع المعلومات المطلوبة لبناء المشروع
  3. تجميع - يجمع ملفات التعليمات البرمجية المصدر
  4. اختبار - يبدأ الاختبارات
  5. package - حزم الملفات المجمعة (في أرشيف JAR، WAR، إلخ)
  6. التحقق - يتحقق مما إذا كان الملف المعبأ جاهزًا
  7. التثبيت - يضع الحزمة في المستودع المحلي. الآن يمكن استخدامها من قبل مشاريع أخرى كمكتبة خارجية
  8. الموقع - إنشاء وثائق المشروع
  9. نشر - نسخ الأرشيف المدمج إلى المستودع البعيد
يتم تنفيذ جميع المراحل بشكل تسلسلي: على سبيل المثال، لا يمكن بدء المرحلة الرابعة حتى يتم الانتهاء من المراحل 1-3. هناك طريقتان لبدء المرحلة:
  • من خلال سطر الأوامر:

    حزمة ام في ان

    الجزء 4. أساسيات Maven - 6
  • باستخدام IntelliJ IDEA:

    الجزء 4. أساسيات Maven - 7

    قبل بدء مرحلة الحزمة، يتم تنفيذ مراحل التحقق من الصحة والتجميع والاختبار. المرحلة النظيفة هي استثناء. إنها فكرة جيدة تشغيل هذه المرحلة قبل كل بناء للمشروع. يمكنك إدراج مراحل متعددة، وفصلها بمسافات:

    حزمة mvn النظيفة.

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

الإضافات

لإضافة مكون إضافي لـ Maven إلى المشروع، نحتاج إلى إضافة وصفه إلى ملف pom.xml، باستخدام العلامات <build>والعلامات <plugins>، على غرار الطريقة التي أضفنا بها التبعيات. على سبيل المثال، لنفترض أننا بحاجة إلى مكون إضافي للتحقق من أننا نستخدم أحدث إصدار من جميع مكتباتنا الخارجية. بعد قليل من البحث في الإنترنت، يمكنك العثور على هذا البرنامج الإضافي وتعليمات حول كيفية استخدامه. لنقم بتعيين معرف المجموعة ومعرف القطعة الأثرية والإصدار. سنشير إلى الأهداف التي يجب أن يحققها البرنامج الإضافي وفي أي مرحلة. في حالتنا، تم تعيين التحقق من التبعية في pom.xml الحالي ليتم تنفيذه أثناء مرحلة التحقق من الصحة. الآن يبدو ملف pom.xml الخاص بنا كما يلي:
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
يمكننا مواصلة العمل في مشروعنا. ولكن دعونا نحاول تغيير إصدار Apache Commons IO إلى 2.0 وبناء المشروع. سوف نحضر

[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
هنا لدينا خطأ في البناء تم إنشاؤه بواسطة البرنامج المساعد. تشير رسالة الخطأ إلى أننا نستخدم الإصدار 2.0 عند توفر الإصدار 2.6. في الأساس، Maven هي أداة مفيدة للغاية. ربما يبدو الأمر صعبًا في البداية، لكن تدرب عليه! أنشئ مشاريعك باستخدام Maven، وبعد فترة ستكون سعيدًا جدًا بالنتيجة النهائية. لقد حذفت هذه المقالة عمدًا الكثير من التفاصيل حول Maven، وركزنا على التفاصيل الأكثر أهمية. ولكن ليس هناك حد للتحسين: يمكنك قراءة المزيد عن Maven على موقعه الرسمي على الإنترنت . الجزء 5. Servlets وJava Servlet API. كتابة تطبيق ويب بسيط الجزء 6. حاويات Servlet الجزء 7. تقديم نمط MVC (Model-View-Controller)
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION