جاوا و تکنولوژی های آن

java programming language

در این وبلاگ به بررسی نکات موجود در جاوا و تکنولوژی های آن می پردازیم

طبقه بندی موضوعی

۲ مطلب با موضوع «java :: Maven» ثبت شده است

در این بخش به راه اندازی Spring Security در یک پروژه Spring با کمک Maven میپردازیم 


maven : یکی از پر کاربردترین ابزار های جاوا برای package بندی , build , deploy , compile , test , document generation پروژه ها است که باعث میشود همه توسعه دهنده ها با استفاده از maven از یک استاندارد پیروی کنند و از اعمال سلیقه هر توسعه دهنده تا حد زیادی جلوگیری میشود و توسعه دهنده بعدی میتواند با ساختار پروژه راحت ارتباط بر قرار میکند

 

plugin ها :  در maven تعداد بسیار زیادی plugin برای کارهای مختلف وجود دارد ما نیز میتوانیم پلاگین مورد نیاز خودمان را هم بنویسیم

 

Archetype : به مشخصه پروژه میپردازد و کمک میکند ساختار پروژه را ایجاد بکنیم  و شامل حداقل سه جزییات groupid , artifactid , version  است

- groupid همان packaging ما است که مشخص میکنیم 

- artifactid اسم پروژه است که در انتهای packaging ما قرار میگیرد

- version هم طبق semantic versioning شماره ورژن جاری را مشخص میکنیم

 

repository : در maven بصورت محلی یک repository روی دیسک ایجاد میکند و در دفعات بعد که یک کتابخانه را بخواهیم استفاده کنیم دوباره آنرا دانلود نمیکند

 

بعد از دانلود و خارج کردن از حالت فشرده میبایست مسیر آنرا بصورت local variable به سیستم معرفی کنیم

 

export MVN_HOME=/opt/maven
export PATH=$MVN_HOME/bin:$PATH

 

config : برای ست کردن config مورد نظر باید در آدرس MVN_HOME/conf/setting.xml فایل xml را ویرایش کنیم 

 

pom.xml : در این فایل کلیه تنظیمات و مشخصات و dependency های پروژه در آن وجود دارد که بعد از ایجاد پروژه با maven در اختیار ما خواهد بود و اگر بخواهیم تغییری را اعمال کنیم از طریق این فایل میتوانیم 

 

در تگ dependencies میتوانیم کتابخانه های مورد نیاز و وابستگی ها را اضافه کنیم که هر وابستگی در تگ dependency قرار میگیرد و شامل حداقل تگ های داخلی groupid , artifactid , version , scope است با scope مشخص میکنیم که این کتابخانه در چه مرحله ای از پروژه قرار است مورد استفاده قرار گیرد که شامل موارد زیر است : 

 

- test : فقط در جریان توسعه نرم افزار که همراه با تست است آن کتابخانه را استفاده میکند مثل junit

- providen : یعنی در آینده این کتابخانه توسط ما یا عامل دیگری برای پروژه قراهم خواهد شد و طی فرایند کامپایل و ساخت jar فایل انرا اضافه نمیکند مثل کتابخانه servlet که در servlet container ها موجود است

- compile : بصورت پیش فرض روی این گزینه ست شده است و یعنی این کتابخانه را هنگامی که پروژه کامپایل و ساخته میشود استفاده کند

- runtime : مشابه provided است 

- system : که اشاره میکند این کتابخانه در سیستم موجود است و باید به مسیر کتابخانه های پروژه آنرا اضافه کند

 

دستورات maven : 

 

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

 

mvn clean : شاخه target و فایل های داخلش را که مربوط به build گرفتن پروژه بوده را پاک میکند و پروژه را اماده build میکند

mvn package : این دستور پروژه را compile میکند و آنرا build میکند و شاخه target را هم میسازد

mvn clean install : این دستور علاوه بر compile کردن آنرا در لیست مخزن محلی قرار میدهد

test skip کردن : در طی فرآیند compile و build تست هم انجام میشود که لاگ آنرا در کنسول میتوان دید برای انجام نشدن تست میبایست سویچ مورد نظر را اعلام کرد : mvn clean install -DskipTests=true