JavaRush /جاوا بلاگ /Random-UR /حصہ 4: ماون کی بنیادی باتیں

حصہ 4: ماون کی بنیادی باتیں

گروپ میں شائع ہوا۔
یہ مواد "انٹرپرائز ڈویلپمنٹ کا تعارف" سیریز کا حصہ ہے۔ پچھلے مضامین: حصہ 4۔ ماون کی بنیادی باتیں - 1Maven منصوبوں کے انتظام اور تعمیر کے لیے ایک ٹول ہے - جاوا پروگرامر کا حقیقی معاون۔ یہ کام کے تمام مراحل میں ڈویلپر کے لیے زندگی کو آسان بناتا ہے: پروجیکٹ کا ڈھانچہ بنانے اور ضروری لائبریریوں کو مربوط کرنے سے لے کر پروڈکٹ کو سرور پر تعینات کرنے تک۔ کسی بھی فریم ورک کے ساتھ کام کرتے وقت، آپ کو Maven استعمال کرنا پڑے گا۔ تو آئیے آج اس کے اہم افعال کو دیکھتے ہیں اور دیکھتے ہیں کہ ان کا استعمال کیسے کیا جانا چاہیے۔

Maven کی مرحلہ وار تنصیب

  1. سب سے پہلے آپ کو Maven کو اس لنک سے ڈاؤن لوڈ کرکے انسٹال کرنا ہوگا ۔

  2. اس کے بعد، آپ کو ڈاؤن لوڈ کردہ آرکائیو کو کھولنا ہوگا اور M2_HOME ماحول کے متغیر کو پیک نہ کیے گئے آرکائیو کے مقام کے لنک پر سیٹ کرنا ہوگا۔ مثال کے طور پر، C:\Program Files\maven\

  3. یہ چیک کرنے کے لیے کہ سب کچھ انسٹال ہے، کمانڈ لائن پر لکھیں:

    mvn ورژن

  4. اگر Maven، Java، وغیرہ کے لیے ورژن کی معلومات ظاہر ہوتی ہے، تو آپ جانے کے لیے تیار ہیں۔

  5. اب IntelliJIDEA کھولیں اور ایک نیا پروجیکٹ بنائیں۔ پہلی ونڈو میں، Maven کو منتخب کریں:

    حصہ 4۔ ماون کی بنیادی باتیں - 2
  6. اگلا پر کلک کریں اور درج ذیل ڈائیلاگ باکس کو پُر کریں:

    حصہ 4۔ ماون کی بنیادی باتیں - 3
  7. اگلا، معیاری کے طور پر مطلوبہ جگہ پر ایک پروجیکٹ بنائیں۔

    منصوبے کی تشکیل کے بعد، اس کی ساخت پر توجہ دیں:

    حصہ 4۔ ماون کی بنیادی باتیں - 4
یہ Maven پروجیکٹ کے لیے معیاری ڈھانچہ ہے :
  • src/main/java فولڈر جاوا کلاسز پر مشتمل ہے۔
  • src/main/resources میں - وہ وسائل جو ہماری ایپلیکیشن استعمال کرتا ہے (HTML صفحات، تصاویر، اسٹائل شیٹس وغیرہ)؛
  • src/test - ٹیسٹ کے لیے۔
pom.xml نامی فائل پر بھی توجہ دیں ۔ یہ Maven کے انتظام کے لیے اہم فائل ہے ۔ پروجیکٹ کی پوری تفصیل یہاں موجود ہے۔ ابھی تک وہاں بہت زیادہ معلومات نہیں ہے، لیکن ہم اسے اب شامل کریں گے۔

ماون میں انحصار کا انتظام

آپ کو "انحصار مینیجر" یا "انحصار مینیجر" کا جملہ ملا ہو گا۔ ماون یہ سب کر سکتا ہے۔ Maven کا شکریہ، آپ کو انٹرنیٹ پر مطلوبہ لائبریری کو تلاش کرنے، اسے ڈاؤن لوڈ کرنے، اور پھر اسے پروجیکٹ سے منسلک کرنے میں زیادہ وقت خرچ کرنے کی ضرورت نہیں ہے: صرف مطلوبہ کو Maven انحصار کی فہرست میں شامل کریں۔ انحصارات کو انحصار XML نوڈ میں لکھا جاتا ہے۔ فرض کریں کہ آپ کو فائلوں کے ساتھ آسان کام کے لیے اپنے پروجیکٹ میں Apache Commons IO لائبریری کی ضرورت ہے۔ لائبریری شامل کرنے کے لیے، 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> ٹیگ کے اندر لائبریری کے بارے میں آپ کو کون سی معلومات شامل کرنے کی ضرورت ہے؟ یہاں سب کچھ آسان ہے۔ ایسے معاملات میں، تین پیرامیٹرز ہمیشہ مخصوص کیے جاتے ہیں: گروپ آئی ڈی، آرٹیفیکٹ آئی ڈی اور ورژن۔ آپ ان پیرامیٹرز کو دو طریقوں سے تلاش کر سکتے ہیں:
  1. لائبریری کی ویب سائٹ پر۔ اگر ہمیں Apache Commons IO کی ضرورت ہے، تو آفیشل ویب سائٹ پر جائیں اور Dependency Information ٹیب کو منتخب کریں۔ تمام ضروری معلومات یہاں موجود ہیں - آپ اسے آسانی سے کاپی کر کے ہمارے انحصار سیکشن میں شامل کر سکتے ہیں۔

  2. ماون ذخیرہ میں ۔ تلاش میں "apache commons io" درج کریں اور آپ کو لائبریری کے تمام دستیاب ورژن نظر آئیں گے۔ آپ کو جس کی ضرورت ہے اسے منتخب کرنے کے بعد، صرف کاپی کریں:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    اور اپنے pom.xml میں شامل کریں۔

Maven ذخیروں کی اقسام

Maven کے ذخیرے کا دوبارہ ذکر کرنا ضروری ہے، کیونکہ ہمارے پاس درحقیقت ان میں سے دو ہیں - بیرونی (عالمی) اور مقامی، آپ کے کمپیوٹر پر۔ تمام لائبریریاں جو آپ اپنے پروجیکٹس میں شامل کرتے ہیں مقامی ذخیرہ میں محفوظ کی جاتی ہیں۔ جب Maven کسی پروجیکٹ میں مطلوبہ انحصار کا اضافہ کرتا ہے، تو یہ پہلے ایسی لائبریری کی موجودگی کے لیے مقامی ذخیرے کی جانچ پڑتال کرتا ہے، اور صرف اس صورت میں جب اسے وہاں نہیں ملتا، تو یہ بیرونی کی طرف رجوع کرتا ہے۔ جیسا کہ آپ دیکھ سکتے ہیں، آپ انحصار کو شامل کرنے کے لیے Maven کا استعمال کر سکتے ہیں، لیکن یہ صرف اتنا نہیں کر سکتا۔

ماون کا استعمال کرتے ہوئے جاوا پروجیکٹ بنانا

یہ خصوصیت ایک نوزائیدہ کو بے معنی لگ سکتی ہے۔ اگر کوئی IDE ہے تو اس کی ضرورت کیوں ہے؟ لیکن نہیں! سب سے پہلے، جس سرور پر آپ کو ایپلیکیشن بنانا ہو گا اس میں نہ صرف ترقی کا ماحول ہو، بلکہ گرافیکل انٹرفیس بھی ہو۔ دوم، بڑے پراجیکٹس پر، ماون پروجیکٹ کو جمع کرنے کے کاموں سے بہتر طور پر مقابلہ کرتا ہے۔ لہٰذا، آئیے اپنے آپ کو انتظار میں مبتلا نہ کریں، بلکہ Maven کا استعمال کرتے ہوئے ایپلیکیشن بنانے کے عمل پر غور کریں۔

مراحل

ایپلیکیشن بنانے کے عمل کو Maven پروجیکٹ کا لائف سائیکل کہا جاتا ہے، اور یہ مراحل پر مشتمل ہوتا ہے۔ آپ اوپری دائیں کونے میں Maven>example>Lifecycle پر کلک کرکے IDEA میں انہیں دیکھ سکتے ہیں: حصہ 4۔ ماون کی بنیادی باتیں - 5جیسا کہ آپ دیکھ سکتے ہیں، 9 مراحل ہیں:
  1. صاف - ٹارگٹ ڈائرکٹری سے تمام مرتب شدہ فائلوں کو ہٹاتا ہے (وہ جگہ جہاں تیار شدہ نمونے محفوظ کیے جاتے ہیں)؛
  2. validate - جانچنا کہ آیا پروجیکٹ کی تعمیر کے لیے تمام معلومات دستیاب ہیں؛
  3. compile - سورس کوڈ والی فائلیں مرتب کی جاتی ہیں۔
  4. ٹیسٹ - ٹیسٹ شروع کیے گئے ہیں۔
  5. پیکیج - مرتب شدہ فائلوں کو پیک کیا جاتا ہے (جار، جنگ، وغیرہ میں محفوظ شدہ دستاویزات)؛
  6. تصدیق کریں — پیکڈ فائل کی تیاری کی تصدیق کے لیے چیک کیے جاتے ہیں۔
  7. انسٹال کریں - پیکیج مقامی ذخیرہ میں رکھا گیا ہے۔ اب اسے دوسرے پروجیکٹس کے ذریعے بیرونی لائبریری کے طور پر استعمال کیا جا سکتا ہے۔
  8. سائٹ - پروجیکٹ کی دستاویزات تیار کی گئی ہیں۔
  9. deploy - جمع شدہ آرکائیو کو ریموٹ ریپوزٹری میں کاپی کیا جاتا ہے۔
تمام مراحل کو ترتیب وار عمل میں لایا جاتا ہے: آپ چوتھا مرحلہ شروع نہیں کر سکتے جب تک کہ 1-3 مراحل مکمل نہ ہوں۔ ایک مرحلہ شروع کرنے کے دو طریقے ہیں:
  • کمانڈ لائن کے ذریعے:

    mvn پیکیج

    حصہ 4۔ ماون کی بنیادی باتیں - 6
  • Intellij IDEA کا استعمال کرتے ہوئے:

    حصہ 4۔ ماون کی بنیادی باتیں - 7

    پیکیج کے شروع ہونے سے پہلے، تصدیق، مرتب، اور ٹیسٹ کے مراحل انجام دیے جاتے ہیں۔ استثناء صاف مرحلہ ہے۔ ہر نئے پروجیکٹ کی تعمیر سے پہلے اسے کال کرنے کا مشورہ دیا جاتا ہے۔ مراحل کو خالی جگہوں سے الگ کر کے درج کیا جا سکتا ہے:

    ایم وی این کلین پیکج۔

اس کے علاوہ، ہر مرحلے میں پہلے اور بعد کے مراحل ہوتے ہیں: مثال کے طور پر، پہلے سے تعیناتی، پوسٹ تعیناتی، پری کلین، پوسٹ کلین، لیکن ان کا استعمال بہت کم ہوتا ہے۔ اس کے علاوہ، ہر مرحلے کے مقاصد ہیں. معیاری اہداف بطور ڈیفالٹ شامل کیے جاتے ہیں، اضافی اہداف Maven پلگ انز کے ذریعے شامل کیے جاتے ہیں۔ بعض اوقات کچھ مرحلے کے دوران آپ کو اضافی فعالیت انجام دینے کی ضرورت ہوتی ہے۔ اس کے لیے Maven پلگ ان موجود ہیں۔ آفیشل پلگ انز کی فہرست Maven کی ویب سائٹ پر مل سکتی ہے ۔ لیکن جان لیں کہ ابھی بھی بہت سے حسب ضرورت پلگ ان موجود ہیں جو تھرڈ پارٹی وسائل پر مل سکتے ہیں۔ ٹھیک ہے، یقیناً، اگر کوئی غیر ملکی ضرورت ہو، تو آپ کے پاس ہمیشہ ایسا پلگ ان خود لکھنے کا موقع ہوتا ہے ۔

پلگ انز

کسی پروجیکٹ میں Maven پلگ ان شامل کرنے کے لیے، اس کی تفصیل، انحصار کی طرح، کو pom.xml میں <build> اور <plugins> ٹیگز میں رکھا جانا چاہیے۔ مثال کے طور پر، ہمیں یہ چیک کرنے کے لیے ایک پلگ ان کی ضرورت ہے کہ ہماری تمام بیرونی لائبریریاں جدید ترین ورژن استعمال کر رہی ہیں۔ انٹرنیٹ پر تھوڑی سی تلاش کرنے کے بعد، آپ استعمال کے لیے ہدایات کے ساتھ یہ پلگ ان تلاش کر سکتے ہیں۔ آئیے اس کی گروپ آئی ڈی، آرٹفیکٹ آئی ڈی اور ورژن سیٹ کریں۔ آئیے لکھتے ہیں کہ اسے کون سے اہداف اور کس مرحلے میں پورا کرنا ہے۔ ہمارے معاملے میں، موجودہ 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۔ سرولیٹس۔ ایک سادہ ویب ایپلیکیشن لکھنا حصہ 6۔ سرولیٹ کنٹینرز حصہ 7۔ MVC (ماڈل-ویو-کنٹرولر) پیٹرن کا تعارف حصہ 8۔ ایک چھوٹی اسپرنگ بوٹ ایپلی کیشن لکھنا
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION