CodeGym /جاوا بلاگ /Random-UR /حصہ 4۔ ماون کی بنیادی باتیں
John Squirrels
سطح
San Francisco

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

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

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

  1. سب سے پہلے، ہمیں Maven انسٹال کرنے کی ضرورت ہے۔ اسے اس لنک سے ڈاؤن لوڈ کریں ۔

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

  3. اس بات کو یقینی بنانے کے لیے کہ سب کچھ انسٹال ہے، کمانڈ لائن پر درج ذیل پر عمل کریں:

    mvn - ورژن

  4. اگر ماون، جاوا، وغیرہ کے لیے ورژن کی معلومات ظاہر ہوتی ہے، تو سب کچھ جانے کے لیے تیار ہے۔

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

    حصہ 4۔ ماون کی بنیادی باتیں - 2
  6. "اگلا" پر کلک کریں اور ظاہر ہونے والی ونڈو کو پُر کریں:

    حصہ 4۔ ماون کی بنیادی باتیں - 3
  7. پھر، ہمیشہ کی طرح، جہاں چاہیں ایک پروجیکٹ بنائیں۔

    پروجیکٹ بننے کے بعد، اس کی ساخت کو نوٹ کریں:

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

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

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

انحصار pom.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>ٹیگ کے اندر بتانے کی ضرورت ہے۔ یہ آسان ہے۔ تین پیرامیٹرز کو ہمیشہ سیٹ کرنے کی ضرورت ہوتی ہے: "groupId"، "artifactId" اور "ورژن"۔ ان پیرامیٹرز کا تعین کرنے کے دو طریقے ہیں:
  1. لائبریری کی ویب سائٹ پر۔ اگر ہمیں Apache Commons IO لائبریری کی ضرورت ہے، تو ہم سرکاری ویب سائٹ پر جاتے ہیں اور "انحصار کی معلومات" ٹیب کو منتخب کرتے ہیں۔ تمام ضروری معلومات یہاں موجود ہیں - آپ اسے آسانی سے کاپی کر کے <dependencies>نوڈ میں شامل کر سکتے ہیں۔

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

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

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

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

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

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

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

مراحل

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

    mvn پیکیج

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

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

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

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

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

پلگ انز

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