1.1 పెద్ద కార్యక్రమాలు

చిన్న ప్రోగ్రామ్‌లను ఎలా రాయాలో మనం ఇప్పటికే నేర్చుకున్నాము, కాబట్టి ఇప్పుడు పెద్ద వాటిని ఎలా వ్రాయాలో నేర్చుకుందాం. మీకు తెలిసినట్లుగా, ప్రోగ్రామ్ పెద్దది మరియు సంక్లిష్టమైనది, దాని అభివృద్ధికి ఎక్కువ డబ్బు చెల్లించబడుతుంది :) మరియు కొద్దిగా నేపథ్యంతో ప్రారంభిద్దాం ...

ప్రోగ్రామ్‌ల పరిమాణం పెరిగేకొద్దీ, డెవలపర్‌లు రెండు కొత్త సవాళ్లను ఎదుర్కొంటారు:

  • అదే కార్యక్రమంలో పెద్ద సంఖ్యలో ప్రజలు పనిచేస్తున్నారు.
  • ప్రోగ్రామ్ యొక్క మొత్తం కోడ్ తెలిసిన అలాంటి వ్యక్తి ఎవరూ లేరు.

చాలా తరచుగా, ప్రోగ్రామర్ ప్రోగ్రామ్ యొక్క ఒక ప్రదేశంలో బగ్‌ను పరిష్కరించినప్పుడు మరియు అదే సమయంలో మరొకదానిలో ఏదైనా విచ్ఛిన్నం చేసినప్పుడు పరిస్థితులు తలెత్తడం ప్రారంభించాయి. విడుదల డాక్యుమెంటేషన్‌లో ఈ జోక్ కూడా ఉంది:

మార్పుల జాబితా:

  • పాత దోషాలు పరిష్కరించబడ్డాయి :)
  • కొత్తవి జోడించబడ్డాయి :(

అప్పుడు వారు ఈ సమస్యను పరిష్కరించడానికి రెండు విధానాలతో ముందుకు వచ్చారు: సాంకేతిక మరియు నిర్వహణ.

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

నిర్వాహక విధానం మరింత ఆసక్తికరంగా ఉంది - వారు ఒక ప్రాజెక్ట్/లైబ్రరీలో పని చేసే వ్యక్తుల సంఖ్యను పరిమితం చేశారు. అనుభవపూర్వకంగా, వారు ఒక నియమాన్ని కూడా రూపొందించారు: జట్టు చాలా పెద్దదిగా ఉండాలి, "దీనికి రెండు పిజ్జాలు తినిపించవచ్చు . " దీనర్థం సాధారణంగా ఒక ప్రాజెక్ట్‌లో 8 మంది కంటే ఎక్కువ మంది వ్యక్తులు పనిచేస్తున్నట్లయితే , దానిని రెండు ప్రాజెక్ట్‌లుగా విభజించాలి.

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

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

రెండవది, కోడ్ పరిమాణంపై సర్వర్‌లకు ఆచరణాత్మకంగా పరిమితులు లేవు. మొబైల్ అప్లికేషన్ డెవలపర్ దానిని 10 మెగాబైట్‌లుగా, డెస్క్‌టాప్ అప్లికేషన్ - 100 మెగాబైట్‌లుగా క్రామ్ చేయడానికి ప్రయత్నిస్తుంది. మరియు ఒక జావా బ్యాకెండ్ డెవలపర్ అనేక పదుల గిగాబైట్ల లైబ్రరీలను ప్రాజెక్ట్‌లోకి క్రామ్ చేయవచ్చు మరియు అతనితో ఎవరూ ఒక్క మాట కూడా అనరు :)

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

ఆపై మావెన్ కనిపించాడు.

1.2 మావెన్ పరిచయం

మావెన్ అనేది ప్రాజెక్ట్ బిల్డ్ మేనేజ్‌మెంట్ కోసం ఒక ప్రత్యేక "ఫ్రేమ్‌వర్క్". ఇది 3 విషయాలను ప్రామాణికం చేస్తుంది:
  • ప్రాజెక్ట్ వివరణ;
  • ప్రాజెక్ట్ బిల్డ్ స్క్రిప్ట్స్;
  • లైబ్రరీల మధ్య ఆధారపడటం.

మావెన్ యొక్క పూర్వీకుడు చీమ , మరియు దాని వారసుడు గ్రేడిల్ . కానీ మావెన్ మూడు జాబితా చేయబడిన ప్రమాణాలను అభివృద్ధి చేసింది మరియు పరిపూర్ణం చేసింది మరియు వారి పరస్పర చర్యను కూడా నియంత్రించింది. అతను జావా కమ్యూనిటీల పనిని కొత్త స్థాయికి తీసుకువచ్చాడు. దానిని మరింత వివరంగా పరిశీలిద్దాం.

మావెన్

సాంకేతికంగా, మావెన్ అనేది ఒక ప్రత్యేక కార్యక్రమం / సేవ, దీని ముఖ్య ఉద్దేశ్యం ప్రాజెక్ట్‌లను నిర్మించే ప్రక్రియను నిర్వహించడం . ఇది కేవలం ఆర్కైవ్‌గా డౌన్‌లోడ్ చేయబడుతుంది మరియు ఏదైనా డైరెక్టరీకి అన్‌ప్యాక్ చేయబడుతుంది. దీని కోసం మీకు ప్రత్యేక ఇన్‌స్టాలర్ అవసరం లేదు.

ఆమెకు గ్రాఫికల్ ఇంటర్‌ఫేస్ లేదు - కన్సోల్‌ని ఉపయోగించి ఆమెకు అన్ని ఆదేశాలు ఇవ్వబడ్డాయి . దానితో పని చేయడం మరింత సౌకర్యవంతంగా చేయడానికి, మీ OSలో ప్రత్యేక పర్యావరణ వేరియబుల్‌లను నమోదు చేయాలని సిఫార్సు చేయబడింది.

మావెన్‌కు ప్రత్యేక రిపోజిటరీ (డైరెక్టరీ / ఫోల్డర్) కూడా ఉంది, ఇక్కడ అది ప్రాజెక్ట్‌లను నిర్మించేటప్పుడు ఉపయోగించే లైబ్రరీలను నిల్వ చేస్తుంది. మీరు డిస్క్‌లో కొంత ఫోల్డర్‌ని ఎంచుకోవాలి మరియు దానిని రిపోజిటరీగా కేటాయించాలి.

మరో ఆసక్తికరమైన విషయం ఏమిటంటే, అన్ని లైబ్రరీల కోసం గ్లోబల్ మావెన్ రిపోజిటరీ ఉండటం, అయితే మేము దీని గురించి కొంచెం తరువాత మాట్లాడుతాము.

1.3 మావెన్‌ను డౌన్‌లోడ్ చేసి, ఇన్‌స్టాల్ చేయండి

Maven అధికారిక సైట్ maven.apache.orgని కలిగి ఉంది . ప్రాజెక్ట్‌లో చాలా డాక్యుమెంటేషన్ ఉంది, కాబట్టి మీకు ఏవైనా ఇబ్బందులు లేదా అదనపు ప్రశ్నలు ఉంటే - లోపలికి రండి, సిగ్గుపడకండి.

డౌన్‌లోడ్‌ల పేజీలో ( https://maven.apache.org/download.cgi ) మీరు మావెన్ ఆర్కైవ్‌ను డౌన్‌లోడ్ చేసుకోవచ్చు (apache-maven-3.8.5-bin.zip). ప్యాక్ చేయని ఆర్కైవ్ దాదాపు 10 MB పడుతుంది, అయినప్పటికీ స్థానిక మావెన్ రిపోజిటరీకి చివరికి అనేక వందల మెగాబైట్ల మెమరీ అవసరమవుతుంది.

Maven జావాలో వ్రాయబడింది మరియు కనీసం వెర్షన్ 7 యొక్క JRE, అలాగే నిర్వచించబడిన JAVA_HOME ఎన్విరాన్మెంట్ వేరియబుల్స్ అవసరం.

మీ కంప్యూటర్‌లో Maven కోసం ఒక ఫోల్డర్‌ను సృష్టించండి, ఉదాహరణకు, d:\devtools , మరియు దానిలో Mavenతో ఆర్కైవ్‌ను సంగ్రహించండి. ఫలితంగా, మీరు ప్రాజెక్ట్ యొక్క ప్రధాన బైనరీలు ఉన్న d:\devtools\maven\bin వంటి ఫోల్డర్‌ను పొందాలి.

1.4 పర్యావరణ వేరియబుల్స్

ఆ తర్వాత, మీరు అన్‌ప్యాక్ చేయని ఆర్కైవ్ నుండి PATH ఎన్విరాన్‌మెంట్ వేరియబుల్‌కు బిన్ ఫోల్డర్‌కు పాత్‌ను జోడించాలి.

విండోస్ 10 లో ఎన్విరాన్మెంట్ వేరియబుల్ సెట్ చేయడానికి, మీరు కంట్రోల్ ప్యానెల్ - సిస్టమ్ - అధునాతన సిస్టమ్ సెట్టింగ్‌లకు వెళ్లాలి. ఆపై "ఎన్విరాన్‌మెంట్ వేరియబుల్స్" క్లిక్ చేసి, PATHని కనుగొని, "ఎడిట్" ఎంచుకోండి, ఆపై పంక్తి చివర d:\devtools\maven\binని జోడించండి. శ్రద్ధ వహించండి, మార్గం ఖచ్చితంగా బిన్ ఫోల్డర్‌కు దారి తీయాలి.

Unix-ఆధారిత OSలో, ఎన్విరాన్‌మెంట్ వేరియబుల్‌ను కన్సోల్ కమాండ్‌తో జోడించవచ్చు:

export PATH=/opt/apache-maven-3.8.5/bin:$PATH

మీరు ప్రతిదీ సరిగ్గా చేస్తే, కన్సోల్‌లో మీరు ఆదేశాన్ని టైప్ చేయాలి: "mvn -v". ప్రతిస్పందనగా, మీరు ఇలాంటివి చూస్తారు:

C:\Users\Zapp>mvn -v
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 15:51:28+0200)
Maven home: T:\apache-maven-3.0.5\bin\..
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_65\jre
Default locale: en_US, platform encoding: Cp1251
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

1.5 స్థానిక మావెన్ రిపోజిటరీ

మీరు ప్రాజెక్ట్‌లను నిర్మించేటప్పుడు ఉపయోగించే జార్ లైబ్రరీలను మావెన్ నిల్వ చేసే ప్రత్యేక ఫోల్డర్‌ను కూడా సెట్ చేయవచ్చు. ఈ ఫోల్డర్‌ని లోకల్ మావెన్ రిపోజిటరీ అంటారు .

అటువంటి ఫోల్డర్ ఏదీ పేర్కొనబడకపోతే, Maven దానిని ప్రస్తుత వినియోగదారు హోమ్ డైరెక్టరీలో సృష్టిస్తుంది. నా డైరెక్టరీ: C:\Users\Zapp\.m2

ఫోల్డర్‌కు ".m2" అనే నిర్దిష్ట పేరు ఉంది. ఇది Linux వినియోగదారులను భయపెట్టనప్పటికీ - వివిధ "రిపోజిటరీలు" మరియు / లేదా సేవా సమాచారం యొక్క ఏదైనా ఇతర నిల్వకు పేరు పెట్టడానికి ఇది చాలా సాధారణ విధానం.

ముఖ్యమైనది! సిస్టమ్ ఫోల్డర్‌లలో Mavenని ఉంచవద్దు, ఎందుకంటే ఆపరేషన్ సమయంలో ఈ ఫోల్డర్‌లకు వ్రాయడానికి అనుమతులు అవసరం, ఇది యాంటీవైరస్ లేదా ఆపరేటింగ్ సిస్టమ్‌కు అనారోగ్యకరమైన ఆసక్తిని కలిగిస్తుంది.

వెర్షన్ 3.5కి ముందు Mavenకి M2_HOME అనే ఎన్విరాన్మెంట్ వేరియబుల్ అవసరం, కానీ ఇది ఇకపై అవసరం లేదు.

మీరు లింక్‌లో మావెన్‌ను కాన్ఫిగర్ చేయడం గురించి మరింత చదవవచ్చు: https://maven.apache.org/configure.html