6.1 ప్లగిన్‌లకు పరిచయం

మావెన్ ప్లగిన్‌లను ఉపయోగించి కార్యాచరణతో ప్రామాణిక జీవితచక్రాలను మెరుగుపరచవచ్చు. ప్లగిన్‌లు ప్రామాణిక చక్రంలో కొత్త దశలను చొప్పించడానికి మిమ్మల్ని అనుమతిస్తాయి (ఉదాహరణకు, అప్లికేషన్ సర్వర్‌కు పంపిణీ) లేదా ఇప్పటికే ఉన్న దశలను విస్తరించండి.

మావెన్‌లోని ప్లగిన్‌లు అసాధారణమైనవి కావు, దీనికి విరుద్ధంగా, అవి సర్వసాధారణం మరియు తరచుగా ఎదుర్కొనే విషయం. అన్నింటికంటే, మీరు మీ ప్రాజెక్ట్‌ను నిర్మించడానికి కొన్ని సూక్ష్మ నైపుణ్యాలను సెట్ చేయాలనుకుంటే, మీరు అవసరమైన సమాచారాన్ని pom.xmlలో పేర్కొనాలి. మరియు దీన్ని చేయడానికి ఏకైక మార్గం "ప్లగ్ఇన్" రాయడం.

ప్లగిన్‌లు డిపెండెన్సీల వలె చాలా కళాఖండాలు కాబట్టి, అవి ఒకే విధంగా వివరించబడ్డాయి. డిపెండెన్సీల విభాగానికి బదులుగా - ప్లగిన్‌లు, డిపెండెన్సీకి బదులుగా - ప్లగిన్, రిపోజిటరీలకు బదులుగా - ప్లగిన్‌రిపోజిటరీలు, రిపోజిటరీ - ప్లగిన్‌రిపోజిటరీ.

ఉదాహరణ:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.6</version>
    </plugin>
</plugins>

pom.xmlలో ప్లగ్ఇన్‌ను ప్రకటించడం వలన మీరు ప్లగిన్ వెర్షన్‌ను పరిష్కరించడానికి, అలాగే దానికి అవసరమైన పారామితులను సెట్ చేయడానికి, వివిధ కాన్ఫిగరేషన్ పారామితులను నిర్వచించడానికి మరియు దశలకు కట్టుబడి ఉండటానికి మిమ్మల్ని అనుమతిస్తుంది.

మరో మాటలో చెప్పాలంటే, మావెన్ అన్ని పనిని చేసే నిర్దిష్ట ప్లగిన్‌లను నడుపుతుంది. అంటే, మేము ప్రాజెక్ట్ యొక్క ప్రత్యేక నిర్మాణాల గురించి మావెన్‌కు బోధించాలనుకుంటే, అవసరమైన దశలో మరియు అవసరమైన పారామితులతో కావలసిన ప్లగ్ఇన్‌ను ప్రారంభించేందుకు మేము సూచనను pom.xmlకి జోడించాలి .

అందుబాటులో ఉన్న ప్లగిన్‌ల సంఖ్య చాలా పెద్దది, వెబ్ అప్లికేషన్‌ను బ్రౌజర్‌లో పరీక్షించడానికి, వనరులను రూపొందించడానికి మరియు ఇలాంటి వాటిని నేరుగా మావెన్ నుండి అమలు చేయడానికి మిమ్మల్ని అనుమతించే వివిధ ప్లగిన్‌లు ఉన్నాయి. ఈ పరిస్థితిలో డెవలపర్ యొక్క ప్రధాన పని ప్లగిన్‌ల యొక్క అత్యంత సముచితమైన సెట్‌ను కనుగొని వర్తింపజేయడం .

6.2 జీవిత చక్రం మరియు ప్లగిన్‌లు

చాలా తరచుగా, ఒక నిర్దిష్ట దశ అమలు సమయంలో ఒక రకమైన కన్సోల్ యుటిలిటీని ప్రారంభించేందుకు ప్లగ్ఇన్ ఉపయోగించబడుతుంది. అంతేకాకుండా, మేము సాధారణ జావా క్లాస్‌ను కూడా అమలు చేయవచ్చు (ఇది ప్రధాన పద్ధతిని కలిగి ఉంటుంది).

ఉదాహరణ:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>com.example.Main</mainClass>
    <arguments>
      <argument>first-argument</argument>
      <argument>second-argument</argument>
    </arguments>
  </configuration>
</plugin>

సాధారణంగా ప్లగిన్‌లను చాలా సరళంగా కాన్ఫిగర్ చేయవచ్చు. మావెన్ డెవలపర్‌ల నుండి అన్ని అధికారిక ప్లగిన్‌లు అధికారిక మావెన్ వెబ్‌సైట్‌లో చాలా చక్కగా నమోదు చేయబడ్డాయి. ఉదాహరణకు, Apache Maven ప్రాజెక్ట్ పేజీలో maven-compiler-plugin కోసం, మీరు ప్లగిన్‌ను నియంత్రించే అన్ని వేరియబుల్స్ జాబితాను చూడవచ్చు. ప్లగిన్‌పై సమాచారం లింక్‌లో అందుబాటులో ఉంది

మరింత ముఖ్యమైన సమాచారం. వివిధ ప్లగిన్‌లను మావెన్ వారి జీవితచక్రంలోని వివిధ దశలలో పిలుస్తారు. ఉదాహరణకు, స్వింగ్ జావా డెస్క్‌టాప్ అప్లికేషన్‌ను వివరించే ప్రాజెక్ట్ వెబ్ అప్లికేషన్ (యుద్ధం) అభివృద్ధికి విలక్షణమైన వాటి నుండి విభిన్న జీవిత చక్ర దశలను కలిగి ఉంటుంది.

లేదా, ఉదాహరణకు, "mvn పరీక్ష" కమాండ్ అమలు చేయబడినప్పుడు, ప్రాజెక్ట్ యొక్క జీవిత చక్రంలో మొత్తం దశల సెట్ ప్రారంభించబడుతుంది: "ప్రాసెస్-రిసోర్స్", "కంపైల్", "ప్రాసెస్-క్లాసెస్", "ప్రాసెస్-టెస్ట్" -వనరులు”, “పరీక్ష-కంపైల్” , పరీక్ష. మీరు మావెన్ ప్రదర్శించిన సందేశాలలో ఈ దశల ప్రస్తావనను చూడవచ్చు:

[INFO] Scanning for projects...
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources)     @ codegym ---
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile)      @ codegym
[INFO] --- maven-resources-plugin:2.6:testResources         (default-testResources) @ codegym ---
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile)          @ codegym ---
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test)         @ codegym ---
[INFO] Surefire report directory:           t:\ projects\codegym\target\surefire-reports

మావెన్‌లో 6.3 గోల్స్ - గోల్స్

మావెన్‌లో, ఒక లక్ష్యం (లక్ష్యం) వంటి విషయం కూడా ఉంది. లక్ష్యం మావెన్ స్టార్టప్ లక్ష్యం లాంటిది. ప్రధాన లక్ష్యాలు ప్రధాన దశలతో సమానంగా ఉంటాయి:

  • ధృవీకరించు;
  • కంపైల్;
  • పరీక్ష;
  • ప్యాకేజీ;
  • ధృవీకరించు;
  • ఇన్స్టాల్;
  • మోహరించేందుకు.

ప్రాజెక్ట్ జీవిత చక్రం యొక్క ప్రతి దశలో, నిర్దిష్ట ప్లగ్ఇన్ (జార్-లైబ్రరీ) అని పిలుస్తారు, ఇందులో అనేక లక్ష్యాలు (లక్ష్యం) ఉంటాయి.

ఉదాహరణకు, "maven-compiler-plugin" ప్లగ్ఇన్ రెండు లక్ష్యాలను కలిగి ఉంది: కంపైలర్: ప్రాజెక్ట్ యొక్క ప్రధాన సోర్స్ కోడ్‌ను కంపైల్ చేయడానికి కంపైల్ మరియు పరీక్షలను కంపైల్ చేయడానికి కంపైలర్:testCompile. అధికారికంగా, దశల జాబితాను మార్చవచ్చు, అయినప్పటికీ ఇది చాలా అరుదుగా అవసరం.

మీరు నిర్దిష్ట దశలో కొన్ని ప్రామాణికం కాని చర్యలను చేయవలసి వస్తే, మీరు pom.xmlకి తగిన ప్లగ్ఇన్‌ను జోడించాలి

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>Name-plugin</artifactId>
  <executions>
    <execution>
      <id>customTask</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>pluginGoal</goal>
      </goals>
    </execution>
  </executions>
</plugin>

ఈ సందర్భంలో అత్యంత ముఖ్యమైన విషయం ఏమిటంటే, ప్లగ్ఇన్ కోసం "ఎగ్జిక్యూషన్/ఫేజ్" ఫేజ్ పేరును నిర్వచించడం, దీనిలో మీరు ప్లగ్ఇన్ "లక్ష్యం" యొక్క లక్ష్యానికి కాల్‌ను పొందుపరచాలి. ఉదాహరణకు, మీరు xml ఆధారంగా జావా కోడ్‌ను రూపొందించాలి. అప్పుడు మీకు “జనరేట్-సోర్స్” దశ అవసరం, ఇది కంపైల్ దశకు కాల్ చేయడానికి ముందు ఉంచబడుతుంది మరియు ప్రాజెక్ట్ యొక్క మూలాల్లో కొంత భాగాన్ని రూపొందించడానికి అనువైనది.