تثبيت Maven خطوة بخطوة
-
أولاً، نحتاج إلى تثبيت Maven. قم بتنزيله من هذا الرابط .
-
بعد ذلك، قم بفك ضغط الأرشيف الذي تم تنزيله وقم بتعيين متغير البيئة M2_HOME على موقع الأرشيف الذي تم فك ضغطه. على سبيل المثال، C:\\Program Files\\maven\\
-
للتأكد من تثبيت كل شيء، قم بتنفيذ ما يلي في سطر الأوامر:
نسخة Mvn
-
إذا تم عرض معلومات الإصدار لـ Maven وJava وما إلى ذلك، فكل شيء جاهز للعمل.
-
الآن افتح IntelliJ IDEA وقم بإنشاء مشروع جديد. في النافذة الأولى، حدد Maven:
-
انقر على "التالي" واملأ النافذة التي تظهر:
-
ثم، كالعادة، قم بإنشاء مشروع أينما تريد.
بعد إنشاء المشروع، لاحظ هيكله:
- يحتوي المجلد src/main/java على فئات Java
- يحتوي المجلد src/main/resources على الموارد التي يستخدمها التطبيق (صفحات HTML والصور وأوراق الأنماط وما إلى ذلك)
- المجلد src/test مخصص للاختبارات
إدارة التبعيات في 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". هناك طريقتان لتحديد هذه المعلمات:
-
على موقع المكتبة . إذا كنا بحاجة إلى مكتبة Apache Commons IO، فإننا نذهب إلى الموقع الرسمي ونختار علامة التبويب "معلومات التبعية". جميع المعلومات الضرورية موجودة هنا - يمكنك ببساطة نسخها وإضافتها إلى
<dependencies>
العقدة. -
في مستودع 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 > مثال > دورة الحياة في الزاوية اليمنى العليا: كما ترون، هناك 9 مراحل:- تنظيف - يزيل جميع الملفات المجمعة من الدليل الهدف (المكان الذي يتم فيه حفظ العناصر النهائية)
- التحقق من الصحة - يتحقق من وجود جميع المعلومات المطلوبة لبناء المشروع
- تجميع - يجمع ملفات التعليمات البرمجية المصدر
- اختبار - يبدأ الاختبارات
- package - حزم الملفات المجمعة (في أرشيف JAR، WAR، إلخ)
- التحقق - يتحقق مما إذا كان الملف المعبأ جاهزًا
- التثبيت - يضع الحزمة في المستودع المحلي. الآن يمكن استخدامها من قبل مشاريع أخرى كمكتبة خارجية
- الموقع - إنشاء وثائق المشروع
- نشر - نسخ الأرشيف المدمج إلى المستودع البعيد
-
من خلال سطر الأوامر:
حزمة ام في ان
-
باستخدام IntelliJ IDEA:
قبل بدء مرحلة الحزمة، يتم تنفيذ مراحل التحقق من الصحة والتجميع والاختبار. المرحلة النظيفة هي استثناء. إنها فكرة جيدة تشغيل هذه المرحلة قبل كل بناء للمشروع. يمكنك إدراج مراحل متعددة، وفصلها بمسافات:
حزمة mvn النظيفة.
الإضافات
لإضافة مكون إضافي لـ 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)
GO TO FULL VERSION