0Pricing
Java Academy · درس

إضافات Maven وأهدافه

تخصيص عملية البناء

إضافات Maven وأهدافه درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 4 دروس في المجموع.

إضافات Maven وأهدافها

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

الإضافات مقابل الأهداف

الإضافة plugin هي مجموعة مجمعة من الإمكانات المرتبطة. أما الهدف فهو مهمة محددة واحدة داخل الإضافة. فعلى سبيل المثال، توفر Compiler Plugin الهدفين compile وtestCompile.

إحداثيات الهدف

يمكنك استدعاء هدف مباشرةً بالصيغة plugin:goal. مثلًا mvn compiler:compile أو mvn surefire:test. وعادةً ما تُشغَّل الأهداف تلقائيًا لأنها مرتبطة بمراحل دورة الحياة.

ربط المراحل

يربط نوع التغليف الافتراضي مسبقًا الإضافات القياسية بالمراحل. ففي مشروع jar، يرتبط هدف compile في Compiler Plugin بمرحلة compile، ويرتبط هدف test في Surefire Plugin بمرحلة test — ولهذا يعمل الأمر mvn test مباشرةً.

تهيئة المترجم

تضبط إضافة داخل <build><plugins>. وهنا نحدد مستوى إصدار Java كي يستهدف المترجم إصدارًا معينًا.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.13.0</version>
      <configuration>
        <release>21</release>
      </configuration>
    </plugin>
  </plugins>
</build>

إضافة Surefire

تشغّل Surefire اختبارات الوحدة أثناء مرحلة test. ويمكنك ضبط الاختبارات التي يجب تضمينها، والتنفيذ المتوازي، ومعاملات JVM. أما شقيقتها Failsafe فتشغّل اختبارات التكامل أثناء مرحلة verify.

ربط تنفيذ إضافي

تربط كتلة <execution> هدفًا بمرحلة بشكل صريح، مع إمكانية تزويده بإعداداته الخاصة. وهذه هي الطريقة لإضافة عمل إضافي، مثل إنشاء الشفرة قبل التجميع.

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>print-banner</id>
      <phase>generate-sources</phase>
      <goals><goal>run</goal></goals>
    </execution>
  </executions>
</plugin>

بناء Fat JAR

لا يتضمن JAR الافتراضي التبعيات. وتجمع إضافة Shade (أو إضافة Assembly) كل شيء في uber-jar واحد قابل للتشغيل، مع ربط هدفها بمرحلة package.

إضافة Exec

تتيح لك إضافة Exec تشغيل تطبيقك من خلال Maven باستخدام mvn exec:java، مع تحديد الصنف الرئيسي. وهذا مفيد للتشغيل السريع من دون إنشاء حزمة.

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <configuration>
    <mainClass>com.example.App</mainClass>
  </configuration>
</plugin>

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

في عملية بناء متعددة الوحدات، يثبت <pluginManagement> في ملف POM الرئيسي إصدارات الإضافات وإعداداتها المشتركة. ثم تشير الوحدات الفرعية إلى الإضافة من دون تكرار الإصدار، مما يحافظ على اتساق عمليات البناء.

اكتشاف الإعدادات

استخدم mvn help:describe -Dplugin=compiler لسرد أهداف الإضافة ومعاملاتها. وهذه أسرع طريقة لمعرفة خيارات الإضافة المتاحة من دون مغادرة الطرفية.

تحقق سريع

اختبر مدى فهمك للإضافات والأهداف.

مراجعة

تعلمت كيفية عمل إضافات Maven:

  • تنفذ الإضافات جميع أعمال البناء الفعلية، وتوفر هذه الإضافات أهدافًا.
  • ترتبط الأهداف بمراحل دورة الحياة، ولذلك تعمل المراحل القياسية مباشرةً.
  • اضبط الإضافات داخل <build><plugins>؛ وأضف عمليات التنفيذ لعمليات الربط الإضافية.
  • تنشئ Shade وAssembly ملفات JAR شاملة؛ وتشغّل Exec التطبيق؛ وتشغّل Surefire وFailsafe الاختبارات.
  • يكشف mvn help:describe أهداف الإضافة ومعاملاتها.

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

هل درس «إضافات Maven وأهدافه» مجاني؟

نعم — نص درس «إضافات Maven وأهدافه» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.

ماذا ستتعلم في «إضافات Maven وأهدافه»؟

تخصيص عملية البناء تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إضافات Maven وأهدافه»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. بنية مشروع Maven
  2. إضافات Maven وأهدافه
  3. أساسيات Gradle
  4. اختيار أداة البناء
← العودة إلى Java Academy