CodeGym /جاوا بلاگ /Random-SD /حصو 4. Maven جي بنياديات
John Squirrels
سطح
San Francisco

حصو 4. Maven جي بنياديات

گروپ ۾ شايع ٿيل
هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو حصو آهي. اڳيون مضمون: حصو 4. Maven جا بنيادي - 1Maven منصوبن جي انتظام ۽ تعمير لاء هڪ اوزار آهي - هڪ جاوا پروگرامر جو مددگار مددگار. اهو ڪم جي هر مرحلي تي ڊولپرز لاءِ زندگي آسان بڻائي ٿو: پروجيڪٽ جي جوڙجڪ ٺاهڻ کان وٺي ۽ ضروري لائبريرين کي ڳنڍڻ کان وٺي پراڊڪٽ کي سرور تي لڳائڻ تائين. توهان کي استعمال ڪرڻو پوندو Maven جڏهن ڪنهن به فريم ورڪ سان ڪم ڪندي. تنهن ڪري، اڄ اچو ته ان جي مکيه افعال تي هڪ نظر رکون ۽ ڏسو ته انهن کي ڪيئن استعمال ڪجي.

Maven جي مرحليوار تنصيب

  1. پهرين، اسان کي Maven انسٽال ڪرڻ جي ضرورت آهي. هن لنڪ تان ڊائون لوڊ ڪريو .

  2. اڳيون، ڊائون لوڊ ٿيل آرڪائيو کي ان زپ ڪريو ۽ M2_HOME ماحول جي متغير کي غير زپ ٿيل آرڪائيو جي جڳھ تي سيٽ ڪريو. مثال طور، C:\\Program Files\\maven\\

  3. انهي کي يقيني بڻائڻ ته هر شي نصب ٿيل آهي، هيٺ ڏنل حڪم لائن تي عمل ڪريو:

    mvn - نسخو

  4. جيڪڏهن Maven، Java، وغيره جي نسخي جي معلومات ڏيکاري ٿي، پوء هر شي وڃڻ لاء تيار آهي.

  5. ھاڻي کوليو IntelliJ IDEA ۽ ھڪڙو نئون منصوبو ٺاھيو. پهرين ونڊو ۾، چونڊيو Maven:

    حصو 4. Maven جا بنيادي - 2
  6. "اڳيون" تي ڪلڪ ڪريو ۽ ونڊو ڀريو جيڪو ظاهر ٿئي ٿو:

    حصو 4. Maven جا بنيادي - 3
  7. پوء، معمول وانگر، هڪ منصوبو ٺاهيو جتي توهان چاهيو ٿا.

    منصوبي جي ٺهڻ کان پوء، ان جي جوڙجڪ جو نوٽ وٺو:

    حصو 4. Maven جا بنيادي - 4
هي هڪ Maven منصوبي جي معياري جوڙجڪ آهي :
  • src /main/java فولڊر ۾ جاوا ڪلاس شامل آهن
  • src /main/resources فولڊر ۾ ايپليڪيشن پاران استعمال ڪيل وسيلن تي مشتمل آهي (HTML صفحا، تصويرون، اسٽائل شيٽ، وغيره)
  • src /test فولڊر ٽيسٽ لاءِ آهي
pom.xml نالي فائل تي پڻ ڌيان ڏيو . هي Maven کي منظم ڪرڻ لاء مکيه فائل آهي . سڄي منصوبي جي وضاحت هتي موجود آهي. هن وقت تمام گهڻي ڄاڻ ناهي، پر اسان ان کي شامل ڪنداسين.

Maven ۾ انحصار جو انتظام

توهان شايد جملي ۾ آيا هوندا "انحصار مينيجر". 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>ٽيگ جي اندر ظاهر ڪرڻ جي ضرورت آهي. اهو آسان آهي. ٽي پيٽرولر هميشه سيٽ ڪرڻ جي ضرورت آهي: "گروپ آئي ڊي"، "آرٽيفڪٽ آئي ڊي" ۽ "نسخ". انهن پيٽرولن کي طئي ڪرڻ جا ٻه طريقا آهن:
  1. لائبريري جي ويب سائيٽ تي. جيڪڏهن اسان کي Apache Commons IO لائبريري جي ضرورت آهي، اسان وڃون ٿا سرڪاري ويب سائيٽ ۽ "انفارميشن انحصار" ٽيب چونڊيو. سڀ ضروري معلومات هتي آهي - توهان صرف ان کي نقل ڪري سگهو ٿا ۽ ان کي <dependencies>نوڊ ۾ شامل ڪريو.

  2. هڪ Maven مخزن ۾ . سرچ بار ۾ "apache commons io" داخل ڪريو ۽ توھان ڏسندؤ لئبرري جا سڀ موجود ورزن. صحيح چونڊڻ کان پوء، صرف هيٺ ڏنل نقل ڪريو:

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

    ۽ ان کي پنهنجي pom.xml ۾ شامل ڪريو.

Maven repositories جا قسم

اهو اسان لاءِ قابل قدر آهي ته ٻيهر Maven repositories جو ذڪر ڪريون، ڇاڪاڻ ته اسان وٽ اصل ۾ انهن مان ٻه آهن: هڪ ريموٽ (مرڪزي) مخزن ۽ هڪ مقامي (توهان جي ڪمپيوٽر تي) مخزن. سڀئي لائبريريون جيڪي توهان پنهنجي منصوبن ۾ شامل ڪيون آهن مقامي مخزن ۾ محفوظ ڪيون ويون آهن. جڏهن Maven هڪ منصوبي تي گهربل انحصار شامل ڪري ٿو، اهو پهريون ڀيرو چيڪ ڪري ٿو ته ڇا لائبريري اڳ ۾ ئي مقامي مخزن ۾ موجود آهي. اهو صرف ريموٽ مخزن تائين رسائي ڪري ٿو جيڪڏهن اهو مقامي طور تي لائبريري نه ڳولي. جئين توهان ڏسي سگهو ٿا، توهان استعمال ڪري سگهو ٿا Maven انحصار شامل ڪرڻ لاء، پر اهو سڀ ڪجهه نه آهي اهو ڪري سگهي ٿو.

Maven استعمال ڪندي جاوا پروجيڪٽ جي تعمير

اها صلاحيت شايد شروعاتي لاء بي معني لڳي ٿي. اسان کي ان جي ضرورت ڇو آهي جيڪڏهن اسان وٽ IDE آهي؟ مون کي وضاحت ڪرڻ ڏيو. پهريون، سرور جتي توهان کي توهان جي ايپليڪيشن ٺاهڻو آهي شايد نه ته ترقي وارو ماحول هجي ۽ نه ئي گرافڪ انٽرفيس. ٻيو، وڏن منصوبن تي، Maven منصوبي جي تعمير جو هڪ بهتر ڪم ڪندو آهي. تنهنڪري وڌيڪ الوداع کان سواء، اسان Maven استعمال ڪندي ايپليڪيشن ٺاهڻ جي عمل تي غور ڪنداسين.

مرحلا

هڪ ايپليڪيشن ٺاهڻ جو عمل Maven پروجيڪٽ جي زندگي جي چڪر کي سڃاتو وڃي ٿو، ۽ اهو مرحلن تي مشتمل آهي. توھان انھن کي IDEA ۾ ڏسي سگھوٿا Maven > مثال > Lifecycle مٿي ساڄي ڪنڊ ۾ ڪلڪ ڪري: حصو 4. Maven جي بنياديات - 5جيئن توھان ڏسي سگھو ٿا، اتي 9 مرحلا آھن:
  1. صاف - ھدف ڊاريڪٽري مان سڀني مرتب ڪيل فائلن کي ھٽائي ٿو (جڳھ جتي ختم ٿيل نمونا محفوظ ٿيل آھن)
  2. validate - چيڪ ڪري ٿو ته ڇا پروجيڪٽ ٺاهڻ لاءِ گهربل سموري معلومات موجود آهي
  3. compile - گڏ ڪري ٿو سورس ڪوڊ فائلون
  4. ٽيسٽ - ٽيسٽ شروع ٿئي ٿو
  5. پيڪيج - پيڪيجز گڏ ڪيل فائلون (جار، وار، وغيره آرڪائيو ۾)
  6. تصديق ڪريو - چيڪ ڪريو ته ڇا پيڪيج ٿيل فائل تيار آهي
  7. انسٽال ڪريو - پيڪيج کي مقامي مخزن ۾ رکي ٿو. ھاڻي اھو ٻين منصوبن پاران استعمال ڪري سگھجي ٿو ھڪڙي خارجي لائبريري طور
  8. سائيٽ - پروجيڪٽ دستاويز ٺاهي ٿي
  9. deploy - ٺهيل آرڪائيو کي ريموٽ مخزن ڏانهن نقل ڪري ٿو
سڀئي مرحلا ترتيب سان ڪيا ويندا آهن: مثال طور، چوٿين مرحلو شروع نه ٿي ڪري سگھجي جيستائين 1-3 مرحلن کي مڪمل نه ڪيو وڃي. هڪ مرحلو شروع ڪرڻ جا ٻه طريقا آهن:
  • حڪم لائن ذريعي:

    mvn پيڪيج

    حصو 4. مايون جا بنيادي - 6
  • IntelliJ IDEA استعمال ڪندي:

    حصو 4. Maven جا بنيادي - 7

    پيڪيج جو مرحلو شروع ٿيڻ کان اڳ، تصديق، مرتب، ۽ ٽيسٽ مرحلن کي انجام ڏنو ويندو آهي. صاف مرحلو هڪ استثنا آهي. اهو هڪ سٺو خيال آهي ته هن مرحلي کي هلائڻ کان اڳ منصوبي جي هر تعمير کان اڳ. توھان ڪيترن ئي مرحلن کي لسٽ ڪري سگھو ٿا، انھن کي خالن سان الڳ ڪري:

    mvn صاف پيڪيج.

انهي سان گڏ، هر مرحلي ۾ اڳ ۽ پوسٽ مرحلا آهن: مثال طور، اڳ-تعمير، پوسٽ-تعمير، اڳ-صاف، پوسٽ-صاف، وغيره، پر اهي تمام گهٽ استعمال ڪيا ويا آهن. ان کان سواء، هر مرحلي جا مقصد آهن. معياري مقصد ڊفالٽ طور مقرر ڪيا ويا آهن. اضافي مقصد شامل ڪيا ويا آهن Maven پلگ ان. ڪڏهن ڪڏهن هڪ مرحلي دوران، توهان کي اضافي ڪم ڪرڻ جي ضرورت پوندي. ھن لاءِ 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