JavaRush /جاوا بلاگ /Random-SD /حصو 4: Maven بنياديات

حصو 4: Maven بنياديات

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

Maven جي قدم جي انسٽاليشن

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

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

  3. چيڪ ڪرڻ لاءِ ته هر شي انسٽال ٿيل آهي، ڪمانڊ لائن تي لکو:

    mvn-ورزن

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

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

    حصو 4. Maven Basics - 2
  6. ڪلڪ ڪريو اڳيون ۽ ڀريو ھيٺ ڏنل ڊائلاگ باڪس:

    حصو 4. Maven Basics - 3
  7. اڳيون، معياري طور تي گهربل جڳھ ۾ ھڪڙو منصوبو ٺاھيو.

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

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

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

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

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

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

Maven repositories جا قسم

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

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

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

مرحلا

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

    mvn پيڪيج

    حصو 4. Maven Basics - 6
  • Intellij IDEA استعمال ڪندي:

    حصو 4. Maven Basics - 7

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

    mvn صاف پيڪيج.

انهي سان گڏ، هر مرحلي ۾ اڳ ۽ پوسٽ مرحلا آهن: مثال طور، اڳ-تعمير، پوسٽ-تعمير، اڳ-صاف، پوسٽ-صاف، پر اهي تمام گهٽ استعمال ڪيا ويا آهن. ان کان سواء، هر مرحلي جا مقصد آهن. معياري مقصد ڊفالٽ طور شامل ڪيا ويا آھن، اضافي آھن شامل ڪيا ويا Maven پلگ ان. ڪڏهن ڪڏهن ڪجهه مرحلن دوران توهان کي اضافي ڪارڪردگي انجام ڏيڻ جي ضرورت آهي. ھن لاءِ Maven پلگ ان آھن. سرڪاري پلگ ان جي فهرست Maven ويب سائيٽ تي ڳولهي سگهجي ٿي . پر ڄاڻو ته اڃا تائين ڪيترائي ڪسٽم پلگ ان آھن جيڪي ملي سگھن ٿيون ٽئين پارٽي وسيلن تي. يقينن، جيڪڏهن ڪجهه غير معمولي ضرورت آهي، توهان کي هميشه اهو موقعو آهي ته توهان پنهنجو پاڻ کي اهڙي پلگ ان لکڻ لاء .

پلگ ان

پروجيڪٽ ۾ Maven پلگ ان شامل ڪرڻ لاءِ، ان جي وضاحت، انحصار سان ملندڙ جلندڙ، pom.xml ۾ <build> ۽ <plugins> tags ۾ رکڻ گھرجي. مثال طور، اسان کي پڪ ڪرڻ لاءِ هڪ پلگ ان جي ضرورت آهي ته اسان جون سڀئي ٻاهرين لائبريريون جديد ورجن استعمال ڪري رهيون آهن. انٽرنيٽ تي ٿورڙي ڳولها کان پوء، توهان هن پلگ ان کي استعمال لاء هدايتون سان ڳولي سگهو ٿا. اچو ته ان جي گروپ آءِ ڊي، آرٽيفيڪٽ آئي ڊي ۽ ورجن کي سيٽ ڪريون. اچو ته لکون ته هن کي ڪهڙا مقصد حاصل ڪرڻ گهرجن ۽ ڪهڙي مرحلي ۾. اسان جي حالت ۾، موجوده 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