English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Maven يحتوي على ثلاثة مراحل معاييرية هي:
تنظيفتعامل تنظيف المشروع
default(أو build)تعامل توزيع المشروع
siteتعامل إنشاء مستندات موقع المشروع
كل دورة تحتوي على مجموعة من المراحل (phase). هذه المراحل تشبه واجهة الموحدة التي يقدمها Maven، ثم يتم تنفيذ هذه المراحل من قبل إضافات Maven.
عندما نكتب الأمر mvn، مثل mvn clean، فإن clean تشير إلى مرحلة clean في دورة الحياة Clean. ولكن عملية clean نفسها يتم تنفيذها من قبل maven-clean-plugin لتحقيق ذلك.
لذلك فإن كل مرحلة من مراحل حياة Maven تحقق من خلال إضافات Maven.
في الواقع، Maven هو إطار يعتمد على إضافات الاعتماد، حيث يتم تنفيذ كل مهمة بالفعل من قبل إضافة Maven. عادة ما يستخدم Maven الإضافات لـ:
إنشاء ملف JAR
إنشاء ملف WAR
تحليل ملفات الكود
اختبار وحدات الكود
إنشاء وثيقة المشروع
إنشاء تقرير المشروع
عادة ما توفر الإضافات مجموعة من الأهداف التي يمكن تنفيذها باستخدام النحو التالي:
<code>mvn [اسم-الإضافة]:[اسم-الهدف]</code>
على سبيل المثال، يمكن لـ مشروع Java أن يستخدم goal compile من plugin maven-compiler-plugin، باستخدام الأمر التالي:
<code>mvn compiler:compile</code>
يقدم Maven نوعين من الإضافات التالية:
النوع | الوصف |
---|---|
إضافات البناء | لتنفيذها أثناء عملية البناء، وإعدادها في عنصر pom.xml. |
إضافات التقرير | لتنفيذها أثناء عملية إنشاء الموقع، وإعدادها في عنصر pom.xml. |
إليك قائمة ببعض الإضافات الشائعة:
الإضافات | الوصف |
---|---|
تنظيف | لتنظيف ملفات الهدف بعد البناء. حذف مجلد الهدف. |
compiler | لتحليل ملفات المصدر Java. |
surefile | لإجراء اختبارات وحدة JUnit. إنشاء تقرير الاختبار. |
jar | لبناء ملف JAR من المشروع الحالي. |
war | لبناء ملف WAR من المشروع الحالي. |
javadoc | لإنشاء Javadoc للمشروع. |
antrun | لإجراء مجموعة من مهام ant في أي مرحلة من عملية البناء. |
لقد استخدمنا الكثير من ذلك في مثالنا maven-antrun-plugin لإخراج البيانات إلى الشاشة. انظر Maven - ملف تكوين البناء القسم. دعونا نفهم هذا الجزء من المادة بطريقة أفضل، ونقوم بإنشاء ملف pom.xml في مجلد C:\MVN\project.
<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>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>id.clean</id> <phase>clean</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>مرحلة clean</echo> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
ثم، افتح محطة الأوامر وانتقل إلى مجلد pom.xml، وأدخل الأمر mvn أدناه.
mvn clean
Maven يبدأ في معالجة عرض مرحلة clean من دورة clean
[INFO] Scanning for projects... [INFO] ------------------------------------------------------------------ [INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0 [INFO] task-segment: [post-clean] [INFO] ------------------------------------------------------------------ [INFO] [clean:clean {execution: default-clean}] [INFO] [antrun:run {execution: id.clean}] [INFO] Executing tasks [echo] مرحلة تنظيف [INFO] Executed tasks [INFO] ------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------ [INFO] الوقت الإجمالي: < 1 ثانية [INFO] الانتهاء في: Sat Jul 07 13:38:59 IST 2012 [INFO] الذاكرة النهائية: 4M/44M [INFO] ------------------------------------------------------------------
عرض المثال التالي يوضح المفاهيم الأساسية التالية:
يتم تعريف الملحقات باستخدام عنصر plugins في pom.xml.
يمكن للملحق أن يحتوي على عدة أهداف.
يمكنك تعريف المراحل، وسيبدأ الملحق في التعامل باستخدام عنصر phase. لقد استخدمنا بالفعل تنظيف المرحلة.
يمكنك تكوين المهام التي تريد تنفيذها عن طريق ربطها إلى أهداف الملحق. لقد ربطنا بالفعل الإطلاق المهمة إلى maven-antrun-plugin تشغيل الهدف.
وهذا كل شيء، Maven سيتعامل مع البقية. سيقوم بتنزيل الملحقات التي لا يمكن الحصول عليها من المستودع المحلي ويبدأ في التعامل.