لطفا کمی صبر کنید...

maven ابزار مدیریت کتابخونه ها

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

از اونجایی که برنامه نویس جماعت دارای خصوصیات خاصیه و از مهمترین این خاصیت ها میشه به تنبلی اشاره کرد، به این فکر افتادن که با یه روشی بتونن کار مدیریت این کتابخونه ها رو فرآیند محور و سیستمی کنند تا هم خودشون یه نفسی بکشن و هم کارشون کمتر بشه. برای همین یه سری پروژه راه اندازی شد که کار اصلیشون انجام همین کار ها بود. من نمیدونم چه پروژه هایی وجود داشته ولی در حال حاضر از معروف ترین این ابزارها میشه به maven و gradle اشاره کرد. در ادامه به نحوه کار با ابزار maven که بهش اصطلاحا build tools هم گفته میشه میپردازیم. اینم بگم که یکی از کارهای این ابزارها مدیریت کتابخونه ها هست و الان که دارید این متن رو میخونید خیلی از ویژگی ها و توانایی های دیگه هم به این ابزارها اضافه شده. 

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

قبل از هر چیز باید آخرین نسخه ابزار maven  رو از اینجا دانلود کنیم. اگر از سیستم عامل خانواده لینوکس استفاده میکنید روی یک شماره یک و اگر از ویندوز استفاده میکنید از لینک شماره دو استفاده کنید.

 

بعد از اینکه برنامه رو دانلود کردید اون و توی یه مسیر قرار بدید و یه فولدر هم کنارش بسازید. من خودم معمولا اسمش رو میزارم local-repository. بعد از این مرحله میریم سراغ ساختن یه پروژه که از maven برای مدیریت کتابخونه هاش استفاده میکنه. من از نرم افزار intellij idea برای توسعه برنامه هام استفاده  میکنم. 

خب اول انتخاب میکنیم که یه پروژه جدید رو بسازیم. برای اینکار میتونید از منوی File->New->Project اقدام کنید. تو صفحه اول wizard مثل تصویر پایین گزینه maven رو انتخاب کنید.

بعد از زدن دکمه Next وارید صفحه جدیدی میشید که از شما میخواد برای پروژه جدید یه GroupId و ArtifactId انتخاب کنید. GroupId یه اسم کلی برای پروژه شماست تا درصورتی که پروژه شما دارای چند ماژول باشه، شما بتونید براساس این نام، ماژولهای خودتون رو دسته بندی کنید. ما در این نمونه از com.codestack.tutorial استفاده کردیم. این نام گذاری دارای یه سری استاندارهای نانوشته است که اولش، دامنه تیم توسعه مشخص میشه. برای نمونه اگر شما توی یه سازمان بزرگ باشید از کلمه org استفاده میکنید و اگر توی یه شرکت نرم افزاری باشید از کلمه com. البته من دیدم که بعضی جا براساس کشور هم این دسته بندی رو انجام میدن مثلا کلمه اول رو میزارن ir. برای کلمه دوم هم معمولا اسم سازمان یا شرکت یا تیم استارتاپی رو قرار میدن و در انتها هم اشاره به نوع پروژه میشه. مقدار ArtifactId هم دقیقا نام پروژه شماست که در این نمونه ما اون رو با اجازتون maven-demo قرار دادیم. البته در کل این قواعد خیلی سفت و سخت نیست و شما میتونید قواعد خودتون رو داشته باشید و بهترین راهنما هم مشاهده نحوه اسم گذاری تو پروژه های بزرگ مثل spring, hibernate و خیلی موارد دیگه است.

نکته: فعلا به مساله version توجهی نمیکنیم تا بعدا راجع بهش صحبت کنیم.

بعد از اینکه Next رو زدین تو صفحه بعد از شما میخواد یه مسیر رو برای ذخیره فایلهای برنامه انتخاب کنید و بعدش تمام.

حالا پروژه جدید ساخته شده و اگر به فایلهای پروژه دقت کنید یه فایل جدید با نام pom.xml ساخته شده. این فایل رو بازکنید. توش یه سری تگ xml وجود داره که محتویاتش همون مواردی که خودتون وارد کردید. بقیه موارد پروژه کلا عین همه.

مرحله آخر اینه که بریم تو تنظیمات پروژه و یه بار برای همیشه بهش مسیر maven مون رو معرفی کنیم. برای این کار به تنظیمات برنامه از طریق منوی File و گزینه Setting برید و از قسمت سمت چپ تو منوی Build, Execution, Deployment -> Build Tools -> Maven رو انتخاب کنید. 

توی قسمت سمت راست سه تا گزینه است که باید مقداردهی بشه. اولی گزینه Maven home directory  هستش که باید با آدرس ابزار maven روی هارد سیستم شما پر بشه. گزینه دوم User setting file که باید آدرس فایل تنظیمات maven که همیشه توی مسیر اصلی ابزار و در داخل فولدر conf هستش، بشه. گزینه سوم هم آدرس همون فولدریه که زحمت کشیدین و ساختین که ما اسمش رو گذاشتیم local-repository. 

بعد از اینکه همه این تنظیمات رو انجام دادیم حالا میخوایم بریم یه کتابخونه رو به برنامه پروژه امون اضافه کنیم. مثلا کتابخونه lombok. قبلش داخل پرانتز یه نکته ای رو بگم که همه کتابخونه ها معتبر توی یه سایتی با آدرس  https://mvnrepository.com/  قرار دارن. وقتی ام که ما میخوایم یه کتابخونه رو به پروژه امون اضافه کنیم maven  تنظیم شده روی سیستم ما میره از این repository فایلهای مورد نیاز رو دانلود میکنه و در یه مسیر موقتی که در واقع همون local-repository ماست قرار میده. تا اینجا پرانتز بسته.

اول میریم به آدرس https://mvnrepository.com/ و با جستجوی نام کتابخونه مون و انتخاب شماره نسخه مورد نظر به صفحه مربوط به اون کتابخونه میرسم. تو قسمت پایین صفحه یه تگ dependency وجود داره که در واقع باید اون رو توی فایل pom پروژه امون اضافه اش کنیم.

بعد از کپی کردن تگ dependency میام به پروژه خودمون و توی فایل pom اول یه تگ <dependencies> اضافه میکنیم و بعد موارد کپی شده رو بینش قرار میدیم مثل تصویر زیر.

حالا دیگه شما پروژه دارید که کتابخونه هاش رو با استفاده از maven مدیریت کردید و میتونید خیلی راحت این پروژه به دوستاتون بدید بدون اینکه بابت اجرا شدن پروژه نگرانی ای داشته باشید.

کلمات کلیدی:

نوشته شده توسط حسن گلشنی

آخرین بروز رسانی در 1400/07/30 00:00:00