آموزش Apache Maven

Maven چیست؟

Maven یک ابزار مدیریت پروژه و درک است که برای توسعه دهندگان فریمورک چرخه عمر ساخت را فراهم می کند. تیم توسعه می تواند زیرساخت ساخت پروژه را تقریبا بدون زمان به عنوان Maven با استفاده از طرح دایرکتوری استاندارد و یک چرخه عمر ساخت پیش فرض خودکارسازی کنند. در مورد محیط تیم های توسعه چندگانه، Maven می تواند راهی را برای کار در هر استاندارد در یک زمان بسیار کوتاه تنظیم کند. همانطور که بسیاری از تنظیمات پروژه ساده و قابل استفاده مجدد هستند، Maven زندگی برنامه نویس را در ایجاد گزارشات، چک، ساخت و تست تنظیمات خودکار آسان می سازد.

Maven راه هایی را برای توسعه دهندگان جهت مدیریت موارد زیر فراهم می کند:

  • ساخت
  • مستند سازی
  • گزارش نویسی
  • وابستگی ها
  • SCMs
  • انتشارات
  • توزیع
  • Mailing list یا لیست پستی

به طور خلاصه، Maven فرآیند ساخت پروژه ساده سازی و استاندارد سازی می کند. درواقع کامپایل، توزیع، مستند سازی، همکاری تیمی و دیگر تسک ها را مدیریت می کند. Maven قابلیت استفاده مجدد را افزایش می دهد و بسیاری از تسک های مرتبط با ساخت را محافظت می کند.

تکامل Maven

Maven در اصل برای ساده سازی فرایندهای ساخت در پروژه Jakarta Turbine طراحی شده بود. چندین پروژه وجود داشت و هر پروژه شامل فایل های ساخت ANT مختلف بود. JAR ها در CVS بررسی شدند. گروه آپاچی سپس Maven را توسعه داد که می توانست پروژه های متعددی را با هم بسازد، اطلاعات پروژه ها را منتشر کند، پروژه ها را مستقر کند، JAR ها را در چندین پروژه به اشتراک بگذارد و در همکاری تیم کمک کند.

اهداف Maven 

هدف اصلی Maven این است که به برنامه نویسان موارد زیر را ارائه دهد:

  • یک مدل جامع برای پروژه ها که قابل استفاده مجدد، قابل نگهداری و آسان تر برای درک باشد
  • پلاگین ها یا ابزارهایی که با این مدل اعلامی تعامل دارند.

ساختار و محتویات پروژه Maven در یک فایل xml و pom.xml اعلان می شود که به مدل آبجکت پروژه یا POM اشاره دارد. POM واحد اصلی سیستم کل Maven است.

Maven از کنوانسیون بیش از پیکربندی استفاده می کند، به این معنی است که توسعه دهندگان مجبور نیستند خودشان فرایند ساخت را ایجاد کنند.

ویژگی های Maven

  • راه اندازی پروژه ساده که بهترین شیوه ها را دنبال می کند
  • استفاده مداوم در تمام پروژه ها
  • مدیریت وابستگی از جمله به روز رسانی خودکار
  • repository بزرگ و رو به رشد کتابخانه ها
  • قابل انعطاف، با توانایی نوشتن آسان پلاگین ها در زبان جاوا و یا زبان های اسکریپت نویسی
  • دسترسی سریع به ویژگی های جدید با پیکربندی
  • ساخت مبتنی بر مدل - Maven قادر به ساختن هر تعداد پروژه به انواع خروجی از پیش تعریف شده مانند jar، war و فرا داده است
  • سایت منسجم اطلاعات پروژه - با استفاده از همان فرا داده هایی که در فرآیند ساخت وجود دارد، می توان یک وب سایت و یک PDF را از جمله مستندات کامل تولید نمود
  • مدیریت انتشار و انتشار توزیع -  بدون تنظیمات اضافی، maven با سیستم کنترل منبع خود مانند CVS ادغام شده و اتشار پروژه را مدیریت می کند
  • سازگاری Backward -  شما به راحتی می توانید چندین ماژول پروژه را به Maven 3 از نسخه های قدیمی تر Maven وارد کنید. زیرا می تواند از نسخه های قدیمی تر نیز پشتیبانی کند
  • نسخه بندی والد خودکار- بدون نیاز به مشخص کردن والد در بخش sub module برای نگهداری
  • ساخت های موازی - گراف وابستگی پروژه را تحلیل می کند و شما را قادر می سازد به صورت موازی ماژول های زمان بندی ایجاد کنید. با استفاده از این، شما می توانید به بهبود عملکرد 50-20% دست یابید
  • خطای بهتر و گزارش دهی یکپارچه - Maven گزارش دهی خطا را بهبود بخشید و به شما یک پیوند به صفحه Maven wiki ارائه می دهد که در آن شما شرح کامل خطا را خواهید یافت.

راه اندازی محیط Maven 

Maven یک ابزار مبتنی بر جاوا است، بنابراین اولین نیاز به داشتن JDK بر روی دستگاه شما است.

الزامات سیستم

  • JDK
  • مموری
  • فضای دیسک
  • سیستم عامل

مراحل:

  • تأیید نصب جاوا در دستگاه شما
  • راه اندازی محیط JAVA
  • دانلود آرشیو Maven
  • Extract کردن آرشیو Maven
  • تنظیمات متغیرهای محیط Maven
  • افزودن Maven bin Directory Location به  مسیر سیستم
  • تایید نصب Maven