English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذا الدليل تم إعداده للمبتدئين لمساعدتهم على فهم الوظائف الأساسية لآلة Maven. بعد إكمال هذا الدليل، ستكتشف أنك تملك مهارات متوسطة في استخدام Apache Maven، مما يمكنك من التقدم إلى مستويات أعلى.
مافن يترجم إلى "خبير"، "متمرس"، هو مشروع مفتوح المصدر مكتوب بالكامل بلغة Java تحت إشراف Apache. يعتمد Maven على مفهوم نموذج مشروع (مختصر: POM) ويستخدم قطعة معلومات مركزية لإدارة خطوات بناء، التقرير والوثائق الخاصة بالمشروع.
Maven ابزاری برای مدیریت پروژه است که میتواند پروژههای جاوا را بسازد و مدیریت وابستگیها را انجام دهد.
Maven همچنین میتواند برای ساخت و مدیریت پروژههای مختلف استفاده شود، به عنوان مثال پروژههایی که با زبانهای C#، Ruby، Scala و دیگر زبانها نوشته شدهاند. Maven در ابتدا یک پروژه زیرمجموعه Jakarta بود، اما اکنون یک پروژه مستقل تحت مدیریت Apache Software Foundation است.
این آموزش به طور اصلی برای مبتدیان است و به آنها کمک میکند تا کارکردهای اساسی ابزار Maven را یاد بگیرند. پس از اتمام این آموزش، دانش شما در مورد Apache Maven به سطح متوسط خواهد رسید و میتوانید به دانشهای پیشرفتهتر بپردازید.
برای خواندن این آموزش، باید دارای مهارتهای زیر باشید:اساسهای جاوا.
Maven میتواند به توسعهدهندگان کمک کند تا موارد زیر را انجام دهند:
ساخت
تولید مستندات
گزارشها
وابستگیها
SCMs
انتشار
توزیع
لیست ایمیلی
Maven استفاده از یک ساختار دایرکتوری استاندارد مشترک را پیشنهاد میدهد، Maven از اصل ‘قرارداد برتر از پیکربندی’ استفاده میکند، تا حد امکان باید از این ساختار دایرکتوری پیروی کرد. به عنوان مثال:
دایرکتوری | هدف |
---|---|
${basedir} | مکانی برای存放 pom.xml و تمامی زیرپوشهها |
${basedir}/src/main/java | منابع کد java پروژه |
${basedir}/src/main/resources | منابع پروژه، به عنوان مثال فایلهای property، springmvc.xml |
${basedir}/src/test/java | کلاسهای تست پروژه، به عنوان مثال کد JUnit |
${basedir}/src/test/resources | منابع مورد استفاده برای تست |
${basedir}/src/main/webapp/WEB-INF | دایرکتوری فایلهای برنامه وب، اطلاعات پروژه وب مانند存放 web.xml، تصاویر محلی، صفحات نمایش jsp |
${basedir}/target | دایرکتوری خروجی بستهبندی |
${basedir}/target/classes | دایرکتوری خروجی برنامهسازی |
${basedir}/target/test-classes | دایرکتوری خروجی تستهای برنامهسازی |
Test.java | Maven فقط تستهای کلاسهایی که با این قوانین نامگذاری شدهاند را به صورت خودکار اجرا میکند |
~/.m2/repository | مکان پیشفرض دایرکتوری انبار محلی Maven |
تنظیمات پروژهها پیرو قوانین یکپارچه هستند.
در هر پروژهای به اشتراک گذاشته میشود.
مدیریت وابستگی شامل بهروزرسانی خودکار.
مجموعه بزرگی که به طور مداوم در حال رشد است.
قابل تمدد، قادر به نوشتن راحت پلاگینهای زبانهای جاوا یا اسکریپت.
يمكن الوصول إلى الميزات الجديدة بسرعة أقل أو بدون إعداد إضافي.
بناء بناء النموذج − يمكن لمaven بناء أي عدد من المشاريع إلى نوع مخرجات مسبقًا معرفًا مثل JAR، WAR أو توزيع يعتمد على بيانات المشروع، دون الحاجة إلى تنفيذ سكربت في معظم الحالات.
موقع توافق المعلومات للمشروع − باستخدام البيانات التكميلية نفسها التي تستخدمها في عملية البناء، يمكن لمaven إنشاء موقع أو PDF يحتوي على أي مستندات تضيفها، ويضيفها إلى التقارير القياسية المتعلقة بتطور المشروع.
إدارة الإصدارات ونشر الإصدارات بشكل منفصل − يمكن لمaven التكامل مع نظام إدارة المصادر (مثل Subversion أو Git) دون إعداد إضافي، ويمكنه إدارة إصدارات المشاريع بناءً على علامة معينة. أيضًا، يمكنه نشر الإصدارات إلى مواقع التوزيع لتوفيرها للمشاريع الأخرى. يمكن لمaven نشر إصدارات منفصلة مثل JAR، أو أرشيفات تحتوي على اعتمادات وأدلة أخرى، أو نشرها كنص مصدر.
التوافق بالظهر − يمكنك بسهولة نقل العديد من المكونات من إصدار Maven القديم إلى Maven 3.
عند استخدام الاعتمادات الخاصة بالمشروع الأب في مشروع الفرع، يجب أن يرث مشروع الفرع اعتمادات المشروع الأب بشكل طبيعي دون الحاجة إلى استخدام إصدار.
بناء متوازي − يمكن تحسين سرعة التجميع بنسبة 20-50%.
تقارير الأخطاء أفضل − تحسينت تقارير الأخطاء، حيث يقدم لك رابطًا إلى صفحة Maven wiki حيث يمكنك النقر على الرابط لعرض وصف الأخطاء الكامل.
Apache Maven هو أداة إدارة مشاريع برمجية وتفسيرية. تستند إلى مفهوم نموذج مشروع (POM)، يمكن لمaven إدارة بناء، التقرير والمستندات للمشاريع من مركز إدارة المعلومات. باستخدام Maven، يمكننا بناء وإدارة أي مشروع يعتمد على Java. سيعلمك هذا الدليل كيفية استخدام Maven في أنشطة تطوير المشاريع اليومية باستخدام Java.