موضوع مقاله: آپاچی ماون | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # آپاچی ماون | مقدمه: maven با استفاده از فایل XML پروژه نرم‌افزاری در حال ساخت را توصیف می‌کند که شامل توصیف وابستگی پروژه به ماژول‌ها، کتابخانه‌ها و سایر قطعات نرم‌افزاری دیگر می‌باشد. | ## بخش 1: آپاچی ماون | هم‌چنین برخی از وظایف تعریف شده مانند کامپایل کد و بسته‌بندی نرم‌افزاری را در خود دارد. maven به‌صورت پویا کتابخانه‌های جاوا و پلاگین‌های خود را از یک یا چند مخزن مانند مخزن مرکزی دانلود کرده و در یک حافظه پنهان (cache) محلی ذخیره می‌کند. MAVEN با استفاده از معماری مبتنی بر پلاگین ساخته شده‌است که به آن اجازه می‌دهد تا از هر برنامه‌ای که از طریق ورودی استاندارد قابل کنترل است استفاده کند. از لحاظ تئوری، این مسئله به همه افراد اجازه می‌دهد تا برای هر زبان دیگری پلاگین‌هایی بنویسند که واسط ابزار ساخت شود(کامپایلرها، ابزار تست واحد، و غیره). در حال حاضر یک پلاگین برای چارچوب دات نت وجود دارد و حفظ می‌شود، [4 و C / C + + پلاگین‌های بومی برای MAVEN 2 نگهداری می‌شده‌است. همچنین می‌توانید یکی از مراحل فردی از فرایند ساخت، که به عنوان اجرا پیکربندی پلاگین. به عنوان مثال، می‌توانید کامپایلر، پلاگین جاوا نسخه 1.5 تا برای تدوین استفاده از پیکربندی، یا مشخص به بسته‌بندی این پروژه حتی اگر برخی از تست واحد با شکست مواجه است. پروژه‌های بزرگ را باید به ماژول‌های مختلف، یا زیر پروژه‌ها، هر کدام با خود POM خود را تقسیم می‌شود. پس از آن می‌توانید POM ریشه که از طریق آن می‌تواند تمام ماژول را تنها با یک دستور کامپایل ارسال.POMs همچنین می‌توانید تنظیمات را از POMs دیگر به ارث برید. سوپر POM فراهم می‌کند تنظیمات پیش فرض، مانند راهنماها منبع به‌طور پیش فرض، پلاگین به‌طور پیش فرض، و غیره. پلاگین برای ساخت، تست، مدیریت، منبع کنترل، در حال اجرا یک وب سرور، ایجاد گرفتگی فایل‌های پروژه و بسیار بیشتر است. بعضی از پلاگین‌های اساسی در هر پروژه به‌طور پیش‌فرض گنجانده شده‌اند و تنظیمات پیش‌فرض محسوس است. یک مثال ساده در سایت MAVEN در مرکز صفحه پلاگین توسعه دهندگان داده می‌شود و نمونه دقیق تر در آپاچی MAVEN 3 کتاب خلاصه داده شده‌است. کد مثال و توضیح برای MAVEN پلاگین برای ایجاد یک ماشین مجازی مبتنی بر ابر سرور برنامه کاربردی در حال اجرا است در این مقاله به‌طور خودکار توسعه و مدیریت ماشین‌های مجازی، ابر داده شده‌است. [10] ساختن دوره حیات چرخه عمر نرم‌افزار لیستی از مراحل به نام است که می‌تواند مورد استفاده قرار گیرد به منظور اجرای هدف است. گسترش اهداف ارائه شده توسط این پلاگین‌ها را می‌توان با مراحل مختلف چرخه حیات همراه است. | ## بخش 2: آپاچی ماون | به عنوان مثال، به‌طور پیش فرض، هدف "کامپایلر کامپایل" با کامپایل فاز همراه، در حالی که هدف "یقین: آزمون با آزمون مرحله همراه است. اگر تمیز کردن بخشی از چرخه حیات به‌طور پیش‌فرض بود، این پروژه خواهد بود تمیز هر بار از آن ساخته شد. پروژه‌ای است که نیاز به هایبرنیت کتابخانه به سادگی به اعلام پروژه هایبرنیت مختصات در POM آن است. MAVEN به‌طور خودکار وابستگی و وابستگی که هایبرنیت خود نیاز به (نام متعدی وابستگی) و ذخیره آن‌ها را در مخزن محلی کاربر را دانلود کنید. MAVEN 2 مرکزی مخزن [3] به‌طور پیش‌فرض مورد استفاده قرار می‌گیرد تا برای کتابخانه‌ها جستجو کنید، اما می‌توانید پیکربندی مخازن (مثلاً مخازن شرکت خصوصی) مورد استفاده در POM. موتورهای جستجو مانند MAVEN مرکزی وجود دارد [12]، که می‌تواند مورد استفاده قرار گیرد برای پیدا کردن مختصات برای کتابخانه‌ها و چارچوب‌های مختلف منبع باز است. پروژه‌های در حال توسعه بر روی یک ماشین می‌تواند بر روی یکدیگر از طریق مخزن محلی بستگی دارد. مخزن محلی، ساختار پوشه ساده که در عمل هر دو به عنوان حافظه نهان برای وابستگی‌های دریافت و به عنوان محل ذخیره‌سازی مرکزی برای شی ء به صورت محلی ساخته شده‌است. سپس در دیگر پروژه‌ها هم می‌توانید این پروژه را با تعیین مختصات خود را در POMs خود استفاده کنند. در حالی که اکثر پروژه‌های نرم‌افزار در واقع حمایت از این عملیات و در واقع یک ساختار تعریف شده، MAVEN مستلزم آن است که این ساختار و عملیات جزئیات پیاده‌سازی در فایل POM تعریف شده‌است. بنابراین، MAVEN متکی بر کنوانسیون در نحوه تعریف پروژه‌ها و در لیست جریان کار است که به‌طور کلی در همه پروژه ها. ین محدودیت در طراحی است و بیشتر شبیه یک IDE دستگیره پروژه و منافع، مانند بسیاری از پروژه تعریف موجز و امکان یکپارچه‌سازی به صورت خودکار پروژه MAVEN با سایر ابزارهای توسعه از جمله IDE‌های آن را فراهم می‌کند، ساخت سرویس دهنده‌ها، و غیره حرکت نزولی است که نیاز به یک کاربر به اولین پروژه از MAVEN از دیدگاه و MAVEN با این نسخه‌ها کار با پروژه های، چرا که چه اتفاقی می افتد وقتی که یکی از اجرا مرحله در MAVEN است از بررسی فایل پروژه MAVEN بلافاصله آشکار نیست. این ساختار مورد نیاز است نیز اغلب یک مانع در مهاجرت یک پروژه بالغ به MAVEN، به خاطر آن است که معمولاً سخت از روش‌های دیگر وفق دهند. هر وظیفه انجام عملیات فنی مانند در حال اجرا یک کامپایلر یا کپی کردن فایل‌ها در اطراف. وظایف در درجه اول در نظم داده شده توسط وابستگی تعریف شده خود را در کارهای دیگر اعدام شد. بنابراین، مورچه ابزاری است که زنجیر با هم وظایف و اجرا آن‌ها را در بین وابستگی‌ها و دیگر شرایط بولی است. | ## بخش 3: آپاچی ماون | این است زبان XML بهینه‌سازی شده برای تعریف واضح تر از هر چه کار انجام می‌دهد و آنچه در آن بستگی دارد. همچنین، تمام اطلاعات در مورد چه خواهد بود، هدف مورچه اعدام را می‌توان در اسکریپت مورچه یافت می‌شود. یک توسعه دهنده با مورچه آشنا نیست به‌طور معمول قادر به تعیین یک اسکریپت ساده مورچه می‌کند که فقط با بررسی اسکریپت باشد. ا این حال، حتی توسعه دهندگان با تجربه است که به یک پروژه با استفاده از Ant نمی‌توان استنباط ساختار سطح بالاتر از یک اسکریپت Ant است و آنچه در آن بدون بررسی فیلم‌نامه در جزئیات انجام می‌دهد. با توجه به پیچیدگی اسکریپت، این می‌تواند به سرعت یک چالش دلهره‌آور تبدیل شده‌است. مکن است که به استفاده از اسکریپت‌های Ant که تعریف می‌شوند و رفتار به شیوه‌ای یکسان برای همه پروژه‌ها را در یک گروه کاری یا سازمان است. با این حال، هنگامی که تعداد و پیچیدگی پروژه‌ها افزایش می یابد، آن را نیز بسیار آسان است تا از یکنواختی در ابتدا مورد نظر خیره شده بودیم. با MAVEN، این است که کمتر از یک مشکل است زیرا این ابزار همیشه تحمیل یک راه خاص برای انجام کارها. برخی از ویژگی‌های ساخته شده در از پر طرفدارترین IDE ضبط وقتی IDE دیگر انجام تدوین است. به عنوان مثال، JDT گرفتگی است که توانایی یک فایل جاوا به کامپایل مجدد پس از آن ویرایش شده‌است. بسیاری از IDE‌ها با مجموعه‌ای صاف از پروژه‌ها به جای سلسله مراتب پوشه‌ها ترجیح داده شده توسط MAVEN کار می‌کنند. در سال 2003، آن را بر روی انتخاب شد و مورد قبول به عنوان یک سطح بالا بنیاد نرم‌افزار آپاچی پروژه. MAVEN 3.0 تا دوباره روی پروژه زیرساخت‌های اصلی کشاورزی که POMs فایل مبتنی بر نمایندگی در حال حاضر از شیء در حافظه خود جدا شده‌است. بتا برای اولین بار از MAVEN 3 دیدم مقدمه‌ای از ساخت یکی از ویژگی‌های موازی که اهرم تنظیم تعداد هسته در ماشین‌های چند هسته‌ای و به خصوص برای پروژه‌های بزرگ چند ماژول مناسب است. نرم‌افزارهای مدیریت مخزن مِیوِن برای مدیریت مخزن تولیدات میون در کارسازی جدا از ایستگاه‌های توسعه. | ## جمع‌بندی | هر دو این نرم‌افزارها دارای یک نسخه اوپن سورس و یک نسخه پشتیبانی شونده pro هستند که دارای افزایه‌هایی برای ایجاد یکپارچگی بیشتر با دیگر ابزارهای توسعه و دادن قابلیت‌های بیشتر دیگری هستند.