افزودن Dependency به Maven
در آموزش های قبل با یکسری از امکانات Maven آشنا شدیم. در این آموزش میخواهیم Dependency را به پروژه خود اضافه کنیم. در تمام پروژه ها شما نیازمند یکسری از Library ها هستید و باید آنهارا به پروژه خود اضافه کنید. در آموزش های قبل توضیح داده شد که بخش مهم Maven مرتبط با pom.xml می باشد. برای معرفی یک Dependency به Maven, یابد فایل pom.xml را کمی تغییر دهیم تا Maven به پروژه ما Jar file های لازم را اضافه کند.
برای شروع به پوشه ای که فایل pom.xml وجود دارد میرویم. در صورتی که پوشه target وجود دارد میتوانید با دستور
mvn clean
نسبت به حذف این پوشه اقدام کنید. در حقیقت این دستور تمام خروجی هایی که توسط دستورات فاز Build ایجاد شده است را حذف میکند و خروجی به این صورت میباشد.
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ZeroToHeroFirstMaven --- [INFO] Deleting /home/vhdrjb/Documents/Project/Maven/ZeroToHeroMaven/ZeroToHeroFirstMaven/target
این پروژه ما شامل یک فایل Java. می باشد که در ابتدا ایجاد شده است.حال ما میخواهیم از Logging Framework ها, SLF4J را به این کلاس اضافه کنیم. اگر میخواستیم اینکار را خارج از Maven انجام دهیم میباست از Jar file مربوط به SLF4J را دانلود میکردیم و سپس به Classpath اضافه میکردیم. بعد از این مرحله کلاس ها میتوانستند از آن استفاده کنند.
اما در Maven نیازی نیست همچین روشی را پیش بگیریم و Maven به صورت اتومات Dependency Management را برای ما انجام میدهد.
در کلاس App.Java چنین کدی را قرار میدهیم :
public static void main( String[] args ) { Logger logger = LoggerFactory.getLogger(App.class); logger.info("Hello Zero To Hero"); }
و همچنین باید کلاس هایی که در SLF4J وجود دارند را به پروژه import کنید :
import org.slf4j.*;
وقتی که شما این کد را با دستور
mvn compile
را اجرا کنید با خطای package org.slf4j does not exists مواجه میشوید و علت آن نبودن jar file مربوط به slf4j در پوژه شما میباشد. برای رفع این مشکل باید کمی تغییرات در فایل pom.xml اعمال کرد.
همانطور که از قبل راجب pom.xml صحبت شده بود, در قسمت dependencies باید مشخصات dependency که میخواهیم به پروژه ما اضافه شود را وارد کنیم که شامل group id, artifact id,version میشد. برای پیدا کردن این مشخصات از dependency مورد نظر میتوانید از اینجا استفاده کنید.
وقتی SLF4J را سرچ کنید چنین صفحه ای برای شما به نمایش در می آید و میتوانید مشخصاتی که لازم است را از این صفحه استخراج کنید.
و وقتی بر روی version کلیک میکنید مشخصات آن در قسمت dependency information قابل مشاهده میباشد
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-migrator</artifactId> <version>1.7.21</version> </dependency>
و آنرا به pom.xml اضافه میکنیم. حال دستور
mvn compile
را اجرا میکنیم و چنین خروجی را مشاهده میکند :
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-migrator/1.7.21/slf4j-migrator-1.7.21.pom Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-migrator/1.7.21/slf4j-migrator-1.7.21.pom (596 B at 0.2 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.21/slf4j-parent-1.7.21.pom Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.21/slf4j-parent-1.7.21.pom (14 KB at 10.5 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-migrator/1.7.21/slf4j-migrator-1.7.21.jar Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-migrator/1.7.21/slf4j-migrator-1.7.21.jar (28 KB at 17.8 KB/sec)
بر اساس خروجی بالا Maven تمام jar file هایی که برای SLF4J نیاز داشت را دانلود کرده است. همچنین به انتهای dependency ها چنین دستوری را اضافه میکنیم
<scope>compile</scope>
و به این معنا می باشد که این dependency در فاز Compile قابل دسترس میباشد.
اکنون شما یک dependency به پروژه اضافه کرده اید و میتوانید با این روش Dependency Management را بر عهده Maven بگذارید.
در آموزش بعد یک Web Application با استفاده از maven میسازیم.
موفق باشید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.