JavaRush /مدونة جافا /Random-AR /الجزء 4: أساسيات مافن

الجزء 4: أساسيات مافن

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

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

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

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

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

    نسخة Mvn

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

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

    الجزء 4. أساسيات مافن - 2
  6. انقر فوق "التالي" واملأ مربع الحوار التالي:

    الجزء 4. أساسيات مخضرم - 3
  7. بعد ذلك، قم بإنشاء مشروع في الموقع المطلوب بشكل قياسي.

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

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

إدارة التبعية في مخضرم

ربما تكون قد صادفت عبارة "مدير التبعية" أو "مدير التبعية". يستطيع مافن أن يفعل كل شيء. بفضل Maven، لن تحتاج إلى قضاء الكثير من الوقت في البحث عن المكتبة المطلوبة على الإنترنت، وتنزيلها، ثم توصيلها بالمشروع: ما عليك سوى إضافة المكتبة المطلوبة إلى قائمة تبعيات Maven. تتم كتابة التبعيات في عقدة التبعيات 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();
   }
}
يجب أيضًا كتابة كافة التبعيات اللاحقة داخل علامة <dependeency>. ربما تتساءل: كيف تعرف ما هي المعلومات التي تحتاج إلى تضمينها حول المكتبة داخل علامة <dependency>؟ كل شيء بسيط هنا. في مثل هذه الحالات، يتم دائمًا تحديد ثلاث معلمات: groupId وartifactId والإصدار. يمكنك معرفة هذه المعلمات بطريقتين:
  1. على موقع المكتبة . إذا كنا بحاجة إلى Apache Commons IO، فانتقل إلى الموقع الرسمي وحدد علامة التبويب معلومات التبعية. جميع المعلومات الضرورية موجودة هنا - يمكنك ببساطة نسخها وإضافتها إلى قسم التبعيات لدينا.

  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>example>Lifecycle في الزاوية اليمنى العليا: الجزء 4. أساسيات مافن - 5كما ترون، هناك 9 مراحل:
  1. نظيف - يزيل جميع الملفات المترجمة من الدليل الهدف (المكان الذي يتم فيه حفظ العناصر النهائية)؛
  2. التحقق من الصحة - التحقق مما إذا كانت جميع المعلومات متاحة لبناء المشروع؛
  3. ترجمة - يتم تجميع الملفات ذات الكود المصدري؛
  4. اختبار - يتم إطلاق الاختبارات؛
  5. الحزمة - يتم تجميع الملفات المجمعة (في أرشيف جرة أو حرب أو ما إلى ذلك) ؛
  6. التحقق — يتم إجراء عمليات التحقق للتأكد من جاهزية الملف المعبأ؛
  7. التثبيت - يتم وضع الحزمة في المستودع المحلي. الآن يمكن استخدامها من قبل مشاريع أخرى كمكتبة خارجية.
  8. الموقع - يتم إنشاء وثائق المشروع؛
  9. نشر - يتم نسخ الأرشيف المجمع إلى مستودع بعيد.
يتم تنفيذ جميع المراحل بشكل تسلسلي: لا يمكنك، على سبيل المثال، بدء المرحلة الرابعة حتى تكتمل المراحل 1-3. هناك طريقتان لبدء المرحلة:
  • عبر سطر الأوامر:

    حزمة ام في ان

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

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

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

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

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

الإضافات

لإضافة مكون إضافي لـ Maven إلى مشروع، يجب وضع وصفه، المشابه للتبعيات، في pom.xml في علامتي <build> و<plugins>. على سبيل المثال، نحتاج إلى مكون إضافي للتحقق من أن جميع مكتباتنا الخارجية تستخدم أحدث الإصدارات. بعد قليل من البحث على الإنترنت، يمكنك العثور على هذا البرنامج الإضافي مع تعليمات الاستخدام. لنقم بتعيين معرف المجموعة ومعرف القطعة الأثرية والإصدار. دعونا نكتب ما هي الأهداف التي يجب عليه تحقيقها وفي أي مرحلة. في حالتنا، تم تعيين التحقق من التبعية في 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. الخدمات. كتابة تطبيق ويب بسيط الجزء 6. حاويات Servlet الجزء 7. تقديم نمط MVC (Model-View-Controller) الجزء 8. كتابة تطبيق صغير للتمهيد الربيعي
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION