آشنایی با Maven archetype
در آموزش قبل از Maven استفاده کردیم و یک برنامه ساده ایجاد کردیم و در این مقاله قصد داریم maven archetype را بررسی کنیم.
با نگاه اجمالی به مبحث آغازین , Maven در پروژه ما Template را به صورت اتوماتیک ایجاد کرد و در نهایت Building و Packaging را برای ما انجام داد. در این آموزش به قسمت اول کار Maven یعنی Project Structure می پردازیم.
وقتی دستور
archetype:generate
را در Maven اجرا میکنیم برای ما folder structure و pom.xml را ایجاد میکند. برای ایجاد archetype مد نظر , Maven به یکسری ورودی نیاز دارد :
- archetype : این دستور مشخص میکند که چه نوع پروژه ای را میخواهیم بسازیم. وقتی که دستور archetype:generate را اجرا کنید یک لیست طویل از archetype ها در خروجی نمایش داده میشود و برای پیاده سازی architecture مورد نظرتان باید آیدی آنرا وارد کنید. archetype های بسیاری مانند JavaEE Application , Spring Application , Hibernate Application , … در لیست Maven موجود میباشند. برای مثال وقتی که میخواهید یک Java Web Application ساده را پیاده سازی کنید میتوانید archetype آنرا انتخاب کنید
- Group Id و Artifact Id : این دو شناسه نقش مهمی در خروجی تولید شده دارند . Artifact Id خروجی پروژه را مشخص میکند. برای مثال اگر یک Web Application باشد, خروجی به صورت war. میباشد. Group Id مشخص کننده شناسه ای میباشد که به تمام این Artifact ها اختصاص میابد. برای مثال اگر پروژه بزرگی شامل چندین Artifact باشد, تمام این Artifact ها در زیر مجموعه یک Group Id مشخص قرار میگیرند.
- Version : ورژن برنامه به صورت پیش فرض بر روی ۱.۰ میباشد و در جلوی آن کلمه Snapshot دیده میشود. این کلمه در جلوی ورژن به معنای این میباشد که پروژه درحال توسعه (Development) میباشد و هنوز نسخه نهایی (Released Version) آن عرضه نشده است.
- Package : به معنای پکیجی میباشد که سورس کد های ما در آن قراردارند و مشخص میکند که کلاس ها در چه پکیج قرار داشته باشند
در Maven یکسری archetype های ساده از Architecture ها را فراهم کرده است که به این صورت میتوان از آنها استفاده کرد. برای مثال اگر بخواهید یک پروژه ساده J2EE Application بسازید :
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-j2ee-simple
همچنین اگر طولانی بودن لیست archetype ها برای شما آزار دهنده است میتوانید با چنین دستوری لیست Archetype هارا فیلتر کنید :
mvn archetype:generate -Dfilter=org.apache:j2ee
این دستور تمام archetype هایی که Group Id آنها شامل org.apache و artifact Id آنها شامل J2EE می باشد را جستجو میکند و خروجی شما به این صورت خواهد بود :
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: remote -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :
در مقاله بعدی افزودن Dependency هارا مورد بررسی قرار خواهیم داد.سری مباحث Maven همچنان ادامه دارد.
با ما همراه باشید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.