خصم ٥٠٪ على جميع الخطط، لفترة محدودة. يبدأ من $2.48/mo
١٨ دقيقة متبقية
تطبيقات الويب والأعمال

إتقان Maven: شرح تفصيلي للأوامر والخيارات مع ورقة مرجعية للمطورين

أيدا لوفجود By أيدا لوفجود قراءة في ١٨ دقيقة تحديث: ٢٣ فبراير ٢٠٢٥
دليل أوامر mvn

تُعدّ أدوات الأتمتة والتطوير من أهم جوانب أي مشروع، وفي هذا المقال نتناول Maven. فهو أداة أتمتة فعّالة لمشاريع Java، تبسّط عملية البناء وتوفّر هيكلًا موحدًا للمشاريع، مما يسهّل إدارتها وفهمها. يغطّي هذا المقال تقريبًا كل ما يتعلق بعالم Maven، من أوامر وخيارات متنوعة ستُسهم في تحسين سير عمل التطوير لديك. سنستعرض جوانب عدة، منها: إدارة الخوادم والحاويات، وإدارة التحكم في المصدر (SCM)، وGPG لتوقيع الحزم. كما سنتناول أوامر متخصصة لإدارة الإضافات، والتجميع والتوزيع، وإنشاء مواقع المشاريع والتقارير. وبنهاية هذا الدليل، ستمتلك فهمًا شاملًا لـ أوامر Maven وخياراته.

نظرة عامة على Maven؛ دورة حياة المشروع

في اللغة اليديشية، تعني كلمة Maven «مُجمِّع المعرفة». هذا المعنى يعكس بدقة ما يقدمه Maven بوصفه أداة أتمتة لمشاريع Java. يُبسِّط Maven عملية البناء وإدارة المشاريع إلى حد بعيد، وذلك عبر أتمتة المهام المتعددة وتوفير نظام بناء موحد.

لفهم آلية عمل Maven بوضوح، دعنا نستعرض مفهوم نموذج كائن المشروع (POM). POM هو ملف XML يحتوي على معلومات المشروع وتفاصيل إعداداته. يعتمد Maven على POM أساساً لعمله، إذ يستمد منه تبعيات المشروع، ومجلدات البناء والمصدر والاختبار، فضلاً عن الأهداف المطلوب تنفيذها.

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

  1. التحقق (Validate): تتحقق هذه المرحلة من صحة إعداد المشروع واكتمال جميع المعلومات اللازمة.
  2. التصريف (Compile): في هذه المرحلة، يُصرَّف الكود المصدري للمشروع.
  3. الاختبار (Test): تختبر هذه المرحلة الكود المصرَّف باستخدام إطار اختبار الوحدات المناسب.
  4. التغليف (Package): تُغلِّف هذه المرحلة الكود المصرَّف في صيغته القابلة للتوزيع، كـ JAR أو WAR.
  5. التثبيت (Install): في هذه المرحلة، يُثبَّت الحزمة في المستودع المحلي، فتصبح متاحة للمشاريع الأخرى على الجهاز نفسه.
  6. النشر (Deploy): تنسخ هذه المرحلة الحزمة النهائية إلى المستودع البعيد لمشاركتها مع المطورين والمشاريع الأخرى.

لكل مرحلة من هذه المراحل أمر mvn مقابل سنتناوله في الأقسام القادمة من هذه الورقة المرجعية. ستكون هذه الأوامر الأكثر أهمية لإدارة عملية بناء مشروعك.

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

إدارة التبعيات من أبرز ميزات Maven الجوهرية، وأهميتها تكمن في أنها تُيسّر التعامل مع تبعيات المشروع بشكل ملحوظ.

كيف يدير Maven التبعيات

يعتمد Maven على مستودع مركزي يُعرف بـ مستودع Maven المركزي، يحتضن مجموعة واسعة من المكتبات والإضافات. حين يحتاج مشروعٌ ما إلى تبعية معينة، يُنزّل Maven المكتبات المطلوبة تلقائياً من هذا المستودع المركزي ويخزّنها في المستودع المحلي. هذا المستودع المحلي عبارة عن ذاكرة تخزين مؤقت على جهازك تُقلّص أوقات التنزيل في عمليات البناء اللاحقة.

تُحدَّد التبعيات في Maven داخل ملف pom.xml أرشِف ضمن <dependencies> . يُعرَّف كل تبعية من خلال مجموعة من المعرّفات: groupId, artifactId، و version.

نطاقات التبعيات

عند العمل مع Maven، يمكنك تحديد نطاق كل تبعية. يضبط هذا النطاق مدى ظهور التبعية في classpath والمرحلة التي تنتمي إليها في دورة الحياة، مما يوضح أي مرحلة تحتاج إلى هذه التبعية. النطاقات الشائعة هي:

  • التصريف (Compile): هذا هو النطاق الافتراضي، ويُستخدم حين لا يُحدَّد نطاق آخر. التبعيات ذات هذا النطاق متاحة في جميع مراحل البناء وتُضمَّن في الحزمة النهائية.
  • المتوفرة: التبعيات ذات هذا النطاق يُفترض أن تكون جاهزة في بيئة التشغيل. تُستخدم أثناء التصريف لكنها لا تُضمَّن في الحزمة النهائية.
  • وقت التشغيل: هذه التبعيات غير مطلوبة للتصريف، لكنها ضرورية وقت التنفيذ وتُضمَّن في classpath الخاص ببيئة التشغيل.
  • الاختبار (Test): هذه التبعيات مطلوبة فقط لتصريف الاختبارات وتشغيلها، ولا تُضمَّن في بيئة التشغيل أو الحزمة النهائية.
  • النظام: نطاق system مشابه لنطاق provided، غير أنك تتكفّل بتوفير ملف JAR الذي سيستخدمه Maven، ويجب أن يكون هذا الملف موجوداً في مسار النظام.

التبعيات المتعدية

من أبرز ما يُتيحه Maven القدرةُ على التعامل مع التبعيات المتعدية. حين يُعلن المشروع عن تبعية، يضمّ Maven تلقائياً تلك التبعية وكل ما تعتمد عليه من تبعيات، وتبعيات تبعياتها، وهكذا دواليك. تُعرف هذه السلسلة بالتبعيات المتعدية. لتوضيح الفكرة: إذا كان مشروعك يعتمد على spring-boot-starter-web، فسيضمّ Maven تلقائياً جميع المكتبات التي يعتمد عليها spring-boot-starter-web كـ Spring Core وSpring MVC وJackson.

بعد أن تعرّفت على آلية Maven في إدارة التبعيات نظرياً، لنرَ كيف يجري ذلك على أرض الواقع:

mvn dependency:resolve

يعمل هذا الأمر على استيفاء جميع التبعيات المطلوبة لمشروعك وعرضها. استخدمه لمعرفة المكتبات التي يعتمد عليها مشروعك والتحقق من أن كل شيء على ما يُرام.

mvn dependency:tree

يُنشئ هذا الأمر عرضاً شجرياً لتبعيات مشروعك، يوضح العلاقة بين كل تبعية ويساعد في رصد التعارضات المحتملة.

mvn dependency:analyze

يحلّل هذا الأمر تبعيات مشروعك للكشف عن أي حزم غير مستخدمة، مما يساعدك على تنظيف مشروعك وتجنّب التضخم غير الضروري.

تُبسِّط ميزات إدارة التبعيات في Maven عملية التطوير، وتساعدك على تجنب الأخطاء الشائعة والحفاظ على هيكل مشروع منظم وواضح.

التنفيذ

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

mvn exec:java

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

mvn exec:exec

يتيح لك هذا الأمر تشغيل أي برنامج أو سكريبت خارجي من داخل بيئة Maven. يمكنك استخدامه لتشغيل سكريبتات الشل والأدوات الخارجية والبرامج الأخرى التي تشكل جزءاً من عملية البناء.

تساعدك أوامر التنفيذ في Maven على أتمتة المهام المتكررة، كما تتيح لك دمج الأدوات والسكريبتات الخارجية في دورة حياة بناء Maven. بشكل عام، تمكّنك هذه الأوامر من إدارة مهامك بكفاءة أعلى.

إدارة الخوادم والحاويات

تُعدّ إدارة الخوادم والحاويات مرحلة أساسية في تطوير تطبيقات الويب ونشرها. يُيسِّر Maven هذه العملية عبر إضافات تمكّنك من تشغيل تطبيقات الويب ونشرها وإدارتها على مختلف الخوادم والحاويات مباشرةً من عملية البناء. إليك أبرز أوامر Maven لإدارة الخوادم والحاويات:

mvn tomcat7:run

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

mvn jetty:run

يُشغِّل هذا الأمر تطبيق الويب الخاص بك باستخدام خادم الويب الشائع Jetty. مثل Tomcat، يتميز Jetty بخفة الحجم وسرعة النشر، مما يجعله خياراً ممتازاً للتطوير والاختبار.

كيف تعمل إدارة الخوادم والحاويات

يستخدم Maven إضافات مثل tomcat7-maven-plugin و jetty-maven-plugin لإدارة عمليات الخادم. تتيح لك هذه الإضافات تشغيل الخوادم وإيقافها وضبط إعداداتها ضمن دورة حياة البناء، مما يُسهِّل تطوير تطبيقات الويب واختبارها في بيئة موحدة. يساعدك استخدام ملفات تعريف Maven لتحديد إعدادات الخادم لبيئات مختلفة على إدارة إعدادات التطوير والاختبار والإنتاج بصورة منفصلة. كما تتيح لك هذه الإضافات ضبط التسجيل والمراقبة، حتى تتمكن من متابعة نشاط الخادم واستكشاف المشكلات بسرعة.

SCM (إدارة التحكم في المصدر)

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

mvn scm:checkin

يمكنك استخدام هذا الأمر لحفظ تغييرات المشروع في SCM. يساعدك هذا الأمر على أتمتة عملية إيداع التغييرات في مستودع التحكم بالمصدر، مما يضمن حفظ آخر التحديثات ومشاركتها مع الفريق.

mvn scm:checkout

يُستخدم هذا الأمر لاسترداد كود المشروع من مستودع SCM، وهو مفيد للحصول على نسخة محلية من المشروع، مما يضمن أنك دائماً تعمل على أحدث إصدار من الكود المصدري.

mvn scm:update

يُحدِّث هذا الأمر النسخة المحلية من المشروع بآخر التغييرات من مستودع SCM، للتأكد من أن قاعدة الكود المحلية لديك متزامنة مع المستودع وتشمل أي تغييرات جديدة أجراها أعضاء الفريق الآخرون.

mvn scm:status

يعرض هذا الأمر حالة النسخة المحلية مقارنةً بمستودع SCM، أي أنه يُظهر لك جميع التغييرات التي أُجريت محلياً ولم تُودَع في المستودع بعد.

mvn scm:tag

يُستخدم هذا الأمر لإنشاء وسم (tag) في مستودع SCM. تُحدِّد الوسوم نقاطاً بعينها في تاريخ المشروع، كالإصدارات أو المعالم البارزة.

يمكن لأوامر Maven SCM أن تُحسِّن بشكل ملحوظ عملية إدارة الكود المصدري لمشروعك. إتقان هذه الأوامر والاستفادة منها سيرفع من كفاءتك ويعزز التعاون داخل فريق التطوير.

GPG (حارس الخصوصية GNU)

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

mvn gpg:sign

يمكنك استخدام هذا الأمر للتوقيع على حزم المشروع باستخدام GPG. يضمن توقيع الحزم إمكانية التحقق منها من قِبل الآخرين، مما يضيف طبقة من الأمان والثقة. يُستخدم هذا الأمر في الغالب أثناء عملية البناء للتوقيع على ملفات JAR وWAR وغيرها من أنواع الحزم قبل نشرها.

mvn gpg:sign-and-deploy-file

يجمع هذا الأمر mvn بين توقيع الملف ونشره في خطوة واحدة. استخدمه حين تريد توقيع artifact ونشره فوراً في المستودع، مما يُبسّط العملية ويضمن اتساقها.

دمج توقيع GPG في عملية بناء Maven يرفع مستوى أمان برنامجك وموثوقيته، ويُسهّل على المستخدمين التحقق من artifacts والوثوق بها.

إدارة الإصدارات

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

mvn release:prepare

يُستخدم هذا الأمر mvn لتهيئة المشروع قبل الإصدار. يتحقق من عدم وجود تغييرات غير محفوظة، ويُحدّث أرقام الإصدار في ملفات pom.xml ثم يضع علامة على الإصدار في نظام إدارة الكود المصدري (SCM)، ويُحدّث ملفات pom.xml إلى رقم إصدار التطوير التالي. يضمن هذا الأمر أن المشروع في حالة مستقرة وجاهز للإصدار.

mvn release:perform

ينفّذ هذا الأمر عملية الإصدار الفعلية. يسحب المشروع من SCM عند العلامة التي أنشأها أمر release:prepare ثم يبني المشروع وينشر artifacts في المستودع المحدد. يضمن هذا الأمر بناء artifacts من الحالة الدقيقة للكود وقت تهيئة الإصدار.

mvn release:clean

يحذف هذا الأمر mvn جميع الملفات الاحتياطية لواصف الإصدار التي تُنشأ خلال عملية release:prepare ينظّف البيئة ويضمن عدم بقاء ملفات متبقية من محاولات الإصدار السابقة، مما يمنحك مساحة عمل نظيفة ويتجنب مشكلات محتملة في الإصدارات القادمة.

استخدام أوامر إدارة الإصدارات يُنظّم عمليات الإصدار، ويرفع جودة البرنامج، ويضمن إدارة الإصدارات بفعالية.

النمط الأصلي

إن كنت مطوراً تريد إنشاء هياكل مشاريع بناءً على قوالب جاهزة، فالحل هو إضافة Maven Archetype. سنستعرض هنا الأوامر الرئيسية المرتبطة بـ archetypes في Maven.

mvn archetype:generate

يمكنك استخدام هذا الأمر mvn لإنشاء مشروع جديد من قالب موجود يُعرف بـ "archetype". يرشدك الأمر خلال اختيار archetype وضبط إعدادات المشروع الجديد، فيساعدك على بناء مشروع منظّم من البداية.

mvn archetype:catalog

يعرض هذا الأمر قائمة بـ archetypes المتاحة لاستخدامها في إنشاء مشاريع جديدة. مفيد لاستكشاف القوالب التي يوفرها مجتمع Maven وتحديد أيّها يناسب متطلبات مشروعك.

بهذين الأمرين، يمكنك البدء في مشروع جديد بسرعة. سواء أنشأت تطبيق Java بسيطاً أو مشروعاً مؤسسياً معقداً، توفر archetypes في Maven نقطة انطلاق قوية.

إدارة الإضافات

تتيح إضافات Maven للمطورين توسيع قدرات Maven وأتمتة مهام متعددة ضمن دورة حياة البناء. الإدارة الجيدة للإضافات تضمن بقاء مشروعك قابلاً للصيانة وقابلية إعادة إنتاج عمليات البناء. سنستعرض في هذا القسم الأوامر الأساسية لإدارة إضافات Maven.

mvn plugin:download

يُستخدم هذا الأمر لتنزيل إضافة Maven محددة من المستودع. الجدير باستخدامه حين تريد التأكد من توفر إضافة معينة في مستودعك المحلي قبل تشغيل أوامر Maven الأخرى التي تعتمد عليها.

mvn plugin:help

يعرض هذا الأمر maven معلومات ووثائق تفصيلية حول إضافة Maven محددة. استخدمه حين تحتاج إلى فهم الأهداف والمعاملات والإعدادات المتاحة لإضافة معينة.

تُحسّن أوامر إدارة إضافات Maven عملية البناء، وتُؤتمت سير العمل، وتحافظ على جودة المشروع واتساقه.

التجميع والتوزيع

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

mvn assembly:assembly

ينشئ هذا الأمر تجميعاً للمشروع. التجميع هو حزمة قابلة للتوزيع يمكن أن تضم الملفات الثنائية والكود المصدري والتبعيات والموارد الأخرى. يستخدم هذا الأمر Assembly Plugin لإنتاج هذه الحزم استناداً إلى واصف التجميع المحدد.

mvn assembly:directory

ينشئ هذا الأمر mvn هيكل دليل التجميع دون إنشاء ملف الأرشيف فعلياً. مفيد لاختبار محتوى التجميع وهيكله والتحقق منهما قبل الحزم.

تعلّم استخدام أوامر التجميع والتوزيع في Maven سيفيدك كثيراً في حزم تطبيقاتك وتوزيعها.

أوامر إنشاء الموقع

أوامر الموقع في Maven طريقة فعّالة لتوثيق المشاريع. تنشئ هذه الأوامر مواقع توثيق شاملة لمشاريعك. سنستعرض هنا أوامر الموقع الأساسية ووظائفها:

mvn site

يقوم الأمر mvn site بإنشاء وثائق الموقع الخاصة بالمشروع، وتشمل هذه الوثائق معلومات متنوعة كملخص المشروع، وتقارير التبعيات، واستخدام الإضافات، وغير ذلك.

mvn site:deploy

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

mvn site:stage

هذا الأمر يُهيِّئ الموقع في مجلد محلي. يمكنك استخدامه لمعاينة الموقع على جهازك قبل نشره على الخادم البعيد.

التوثيق المنظم والواضح ركيزة أساسية في أي مشروع تطويري. يتيح لك أمر maven site تجميع كل شيء في مكان واحد، مما يُحسّن التواصل بين أعضاء فريق التطوير.

أوامر WAR و JAR

بصفتك مطوّرًا، تعرف جيدًا أن تحزيم تطبيقاتك بصيغ مختلفة أمر بالغ الأهمية في دورة التطوير. يتيح لك Maven تحزيم تطبيقات Java بصيغ متعددة، منها ملفات WAR (Web Application Archive) وJAR (Java Archive). وتتجلى أهمية هذه الصيغ بوضوح حين تريد نشر التطبيقات على الخوادم أو توزيع المكتبات. فيما يلي أبرز أوامر mvn لإنشاء ملفات WAR وJAR:

mvn war:war

يقوم هذا الأمر بتصريف مشروعك وتجميعه في ملف WAR. عند تنفيذه، سيُنشئ Maven ملف WAR داخل مجلد target في مشروعك.

mvn jar:jar

هذا الأمر يُجمِّع مشروعك ويُحزِّمه في ملف JAR داخل مجلد الإخراج الخاص بمشروعك.

هذان الأمران مخصصان للنشر والتوزيع، ويمكنك استخدامهما لإدارة تطبيقات Java وتوزيعها بكفاءة.

التقارير

أي مشروع برمجي يحتاج إلى تقارير مفصّلة لمتابعة التقدم. يوفر Maven مكونات إضافية قوية وأوامر mvn لإنشاء أنواع متعددة من التقارير. يتناول هذا القسم مكونَين إضافيَّين يمكنك استخدامهما لإعداد التقارير: Surefire وJaCoCo.

إضافة Surefire

يمكنك استخدام هذه الإضافة لتشغيل اختبارات الوحدة في مشروع Maven. تُنشئ تقارير مفصّلة حول الاختبارات التي نُفِّذت، حتى تتأكد من أن الكود يعمل بالطريقة التي تتوقعها.

mvn surefire-report:report

يُنشئ هذا الأمر تقرير اختبار الوحدة بتنسيق يسهل قراءته وتحليله. عند تنفيذ هذا الأمر، يُنشئ Maven تقرير HTML في target/site دليل مشروعك. يتضمن هذا التقرير معلومات حول عدد الاختبارات التي أُجريت، والتي اجتازت، والتي فشلت، إلى جانب تتبع مفصّل للمكدس لأي أخطاء.

إضافة JaCoCo

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

mvn jacoco:report

إذا أردت معرفة أجزاء الكود التي جرى اختبارها وتلك التي لم تُختبر بعد، فهذا الأمر يُنشئ لك تقرير تغطية الكود. التقرير الذي يُنشئه هذا الأمر هو تقرير HTML في target/site/jacoco دليل يعرض مقاييس تغطية تفصيلية للفئات والدوال وأسطر الكود.

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

تخصيص البناء

يتيح لك Maven تخصيص عملية البناء لتلبية متطلبات مشروعك بدقة. في هذا القسم، سنتناول كيفية استخدام ملفات تعريف Maven وتعريفات الخصائص لتخصيص البناء.

ملفات تعريف Maven

باستخدام ملفات تعريف Maven، يمكنك تحديد إعدادات مختلفة لمشروعك، يمكن تفعيلها بناءً على عوامل متعددة كخصائص النظام، أو متغيرات البيئة، أو شروط مخصصة. بهذه الطريقة يمكنك تخصيص عملية البناء لبيئات مختلفة، كبيئة التطوير، والاختبار، والإنتاج. يمكنك تعريف ملفات التعريف في pom.xml أرشِف ضمن <profiles> القسم. و -p الخيار متبوعاً بمعرّف الملف الشخصي سيُفعّل الملف الشخصي لك.

تعريفات الخصائص

خصائص Maven تتيح لك تعريف قيم يمكن إعادة استخدامها في أي مكان داخل مشروعك pom.xml ملف. يمكن تحديد هذه الخصائص في pom.xml، أو عبر سطر الأوامر، أو في ملفات الخصائص الخارجية. يمكنك تعريف الخصائص في قسم <properties> في ملف pom.xml. بعد تعريفها، يمكنك استخدام هذه الخصائص في أي مكان داخل pom.xml .

تخصيص عملية البناء في Maven يتيح لك تكييف مشروعك مع بيئات ومتطلبات مختلفة. باستخدام البروفايلات يمكنك التبديل بين إعدادات بناء مختلفة، وباستخدام الخصائص يمكنك إعادة استخدام القيم وإدارتها بكفاءة.

خلاصة

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

الأسئلة الشائعة

ما الذي يُستخدم Maven من أجله؟

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

ما هو POM في Maven؟

Maven أداة تؤتمت عملية البناء وإدارة التبعيات لمشاريع Java. وملف POM (Project Object Model) هو ملف XML في Maven يحتوي على معلومات المشروع وتفاصيل الإعداد التي يستخدمها Maven لبناء المشروع. يُعرّف ملف POM تبعيات المشروع والإضافات والأهداف وسائر إعدادات البناء.

مشاركة

المزيد من المدونة

تابع القراءة.

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

مراجعة شاملة لـ Odoo: هل هو نظام ERP المناسب لعملك؟

Odoo من أكثر منصات ERP التي تستقطب اهتمام الشركات النامية، والسبب بسيط: فهو يجمع الكثير في مكان واحد. المبيعات والمحاسبة والمخزون

جيم شوارتزجيم شوارتز ١١ دقيقة قراءة
صورة مقالة بدائل WordPress مفتوحة المصدر بخلفية متدرجة الألوان، وشاشة حاسوب، ومحرر أكواد، ومعاينة لوحة تحكم ضبابية، وعنوان رئيسي كبير على اليسار.
تطبيقات الويب والأعمال

أفضل بدائل WordPress مفتوحة المصدر للمطورين

WordPress لا يزال خياراً قوياً ويخدم طيفاً واسعاً من المواقع بكفاءة. يضم دليل الإضافات الخاص به أكثر من ٦٢٬٠٠٠ إضافة، ويوفر دليل القوالب أكثر من ١٤٬٠٠٠ قالب مجاني. ذل

جيم شوارتزجيم شوارتز ١٤ دقيقة قراءة
صورة مقالة مقارنة Automad مقابل WordPress تتضمن شعاري المنصتين وعنواناً يسأل أي نظام CMS يجب على المطورين اختياره.
تطبيقات الويب والأعمال

Automad مقابل WordPress: مقارنة شاملة بين منصتين من أفضل منصات إدارة المحتوى

يؤدي Automad و WordPress المهمة ذاتها بطريقتين مختلفتين تمامًا. فـ Automad نظام إدارة محتوى يعتمد على الملفات المسطحة ومحرك قوالب، إذ يُخزَّن المحتوى في ملفات بدلًا من قاعدة بيانات، أما WordPress،

جيم شوارتزجيم شوارتز ٩ دقائق للقراءة

هل أنت مستعد للنشر؟ يبدأ من ٢٫٤٨ دولار/شهر.

سحابة مستقلة منذ ٢٠٠٨. AMD EPYC، NVMe، 40 Gbps. ضمان استرداد المبلغ لمدة ١٤ يومًا.