
نصب مرحله به مرحله Maven
-
ابتدا باید Maven را نصب کنیم. آن را از این لینک دانلود کنید .
-
سپس بایگانی دانلود شده را از حالت فشرده خارج کنید و متغیر محیطی M2_HOME را در محل آرشیو خارج شده تنظیم کنید. به عنوان مثال، C:\\Program Files\\maven\\
-
برای اطمینان از اینکه همه چیز نصب شده است، موارد زیر را در خط فرمان اجرا کنید:
mvn -نسخه
-
اگر اطلاعات نسخه Maven، Java و غیره نمایش داده شود، همه چیز آماده است.
-
حالا IntelliJ IDEA را باز کنید و یک پروژه جدید ایجاد کنید. در پنجره اول، Maven را انتخاب کنید:
-
روی "بعدی" کلیک کنید و پنجره ظاهر شده را پر کنید:
-
سپس طبق معمول هر کجا که می خواهید یک پروژه ایجاد کنید.
پس از ایجاد پروژه، به ساختار آن توجه کنید:
- پوشه src/main/java شامل کلاس های جاوا است
- پوشه src/main/resources حاوی منابع مورد استفاده برنامه (صفحات HTML، تصاویر، شیوه نامه ها و غیره) است.
- پوشه src/test برای تست است
مدیریت وابستگی ها در Maven
شاید با عبارت «مدیر وابستگی» برخورد کرده باشید. Maven می داند که چگونه وابستگی ها را مدیریت کند. با تشکر از Maven، لازم نیست زمان زیادی را صرف جستجوی اینترنت برای یک کتابخانه مورد نیاز، دانلود آن و سپس اتصال آن به پروژه خود کنید. در عوض، شما فقط کتابخانه مورد نیاز را به لیست وابستگی ها در Maven اضافه می کنید.وابستگی ها در گره وابستگی های فایل pom.xml مشخص می شوند
فرض کنید برای ساده کردن کار با فایل ها به کتابخانه IO Apache Commons در پروژه خود نیاز دارید. برای افزودن یک کتابخانه، پنج خط در pom.xml می نویسیم:<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
حالا فایل pom.xml شما باید به شکل زیر باشد:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
پس از آن، به IntelliJ IDEA اجازه دهید تا وابستگی را وارد کند (یک دیالوگ باید در گوشه سمت راست پایین ظاهر شود). اکنون کتابخانه آماده استفاده است:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
تمام وابستگی های بعدی نیز باید در داخل تگ نوشته شوند <dependencies>
. ممکن است تعجب کنید که چگونه می توانید اطلاعات مربوط به کتابخانه را که باید در داخل <dependency>
تگ نشان دهید پیدا کنید. آسان است. همیشه باید سه پارامتر تنظیم شود: "groupId"، "artifactId" و "version". دو روش برای تعیین این پارامترها وجود دارد:
-
در وب سایت کتابخانه اگر به کتابخانه IO Apache Commons نیاز داریم، به وب سایت رسمی می رویم و برگه «اطلاعات وابستگی» را انتخاب می کنیم. تمام اطلاعات لازم در اینجا وجود دارد - می توانید به سادگی آن را کپی کرده و به
<dependencies>
گره اضافه کنید. -
در یک مخزن Maven . "apache commons io" را در نوار جستجو وارد کنید و تمام نسخه های موجود کتابخانه را مشاهده خواهید کرد. پس از انتخاب صحیح، به سادگی موارد زیر را کپی کنید:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
و آن را به pom.xml خود اضافه کنید.
انواع مخازن Maven
شایسته است که ما دوباره به مخازن Maven اشاره کنیم، زیرا ما در واقع دو مورد از آنها را داریم: یک مخزن راه دور (مرکزی) و یک مخزن محلی (در رایانه شما). تمام کتابخانه هایی که به پروژه های خود اضافه می کنید در مخزن محلی ذخیره می شوند. وقتی Maven یک وابستگی لازم را به پروژه اضافه می کند، ابتدا بررسی می کند که آیا کتابخانه از قبل در مخزن محلی وجود دارد یا خیر. تنها در صورتی به مخزن راه دور دسترسی پیدا می کند که کتابخانه را به صورت محلی پیدا نکند. همانطور که می بینید، می توانید از Maven برای اضافه کردن وابستگی ها استفاده کنید، اما این تنها کاری نیست که می تواند انجام دهد.ساخت پروژه جاوا با استفاده از Maven
این قابلیت ممکن است برای یک مبتدی بی معنی به نظر برسد. اگر IDE داریم چرا به این نیاز داریم؟ بگذار توضیح بدهم. اول اینکه سروری که باید برنامه خود را در آن بسازید ممکن است نه محیط توسعه و نه رابط گرافیکی داشته باشد. دوم، در پروژه های بزرگ، Maven کار ساخت پروژه را بهتر انجام می دهد. بنابراین بدون معافیت بیشتر، روند ساخت یک برنامه کاربردی با استفاده از Maven را در نظر خواهیم گرفت.فاز
فرآیند ساخت یک برنامه کاربردی به عنوان چرخه عمر پروژه Maven شناخته می شود و از مراحل تشکیل شده است. میتوانید با کلیک کردن روی Maven > مثال > چرخه زندگی در گوشه سمت راست بالا به آنها در IDEA نگاه کنید:
- پاک - تمام فایل های کامپایل شده را از دایرکتوری هدف (محلی که مصنوعات نهایی ذخیره می شوند) حذف می کند.
- اعتبارسنجی - بررسی می کند که آیا تمام اطلاعات مورد نیاز برای ساخت پروژه وجود دارد یا خیر
- کامپایل - فایل های کد منبع را کامپایل می کند
- تست - تست ها را شروع می کند
- بسته - فایل های کامپایل شده بسته (در آرشیو JAR، WAR و غیره)
- تأیید - بررسی می کند که آیا فایل بسته بندی شده آماده است یا خیر
- نصب - بسته را در مخزن محلی قرار می دهد. اکنون می توان از آن توسط پروژه های دیگر به عنوان یک کتابخانه خارجی استفاده کرد
- سایت - مستندات پروژه را ایجاد می کند
- deploy - آرشیو ساخته شده را در مخزن راه دور کپی می کند
-
از طریق خط فرمان:
پکیج mvn
-
با استفاده از IntelliJ IDEA:
قبل از شروع مرحله بسته، مراحل اعتبارسنجی، کامپایل و آزمایش انجام می شود. مرحله تمیز یک استثنا است. این ایده خوبی است که این مرحله را قبل از هر ساخت پروژه اجرا کنید. می توانید چندین فاز را فهرست کنید و آنها را با فاصله از هم جدا کنید:
پکیج تمیز mvn.
پلاگین ها
برای افزودن یک افزونه Maven به پروژه، باید توضیحات آن را به فایل pom.xml اضافه کنیم، با استفاده از<build>
و <plugins>
برچسبها، مشابه نحوه افزودن وابستگیها. برای مثال، فرض کنید به یک افزونه نیاز داریم تا تأیید کنیم که از آخرین نسخه تمام کتابخانه های خارجی خود استفاده می کنیم. پس از کمی جستجو در اینترنت، می توانید این افزونه
و دستورالعمل استفاده از آن را پیدا کنید. بیایید groupId، artifactId و version را تنظیم کنیم. ما نشان خواهیم داد که افزونه چه اهدافی را باید برآورده کند و در چه مرحله ای. در مورد ما، بررسی وابستگی در pom.xml فعلی تنظیم شده است که در مرحله اعتبارسنجی اتفاق بیفتد. حالا فایل pom.xml ما به شکل زیر است:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
ما می توانستیم به کار روی پروژه خود ادامه دهیم. اما بیایید سعی کنیم نسخه Apache Commons IO را به 2.0 تغییر دهیم و پروژه را بسازیم. میگیریمش
[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
در اینجا یک خطای ساخت ایجاد شده توسط افزونه داریم. پیام خطا بیان می کند که ما از نسخه 2.0 زمانی که نسخه 2.6 در دسترس است استفاده می کنیم. اساسا Maven ابزار بسیار مفیدی است. شاید در ابتدا استفاده از آن دشوار به نظر برسد، اما تمرین کنید! پروژه های خود را با استفاده از Maven ایجاد کنید و پس از مدتی از نتیجه نهایی بسیار راضی خواهید بود. این مقاله به عمد بسیاری از جزئیات را در مورد Maven حذف کرد - ما روی ضروری ترین آنها تمرکز کردیم. اما هیچ محدودیتی برای بهبود وجود ندارد: می توانید اطلاعات بیشتری در مورد Maven در وب سایت رسمی
آن بخوانید . قسمت 5. Servlets و Java Servlet API. نوشتن یک برنامه وب ساده
قسمت 6. ظروف Servlet
قسمت 7. معرفی الگوی MVC (Model-View-Controller)
GO TO FULL VERSION