प्रोजेक्ट वर्णन ऑब्जेक्ट मॉडेल

मावेनने प्रथम स्थानावर प्रमाणित केलेल्या गोष्टींपैकी एक म्हणजे प्रकल्पाचे वर्णन. मावेनच्या आधी, प्रत्येक IDE ची स्वतःची प्रोजेक्ट फाइल होती, ज्यामध्ये प्रकल्प आणि त्याच्या असेंब्लीबद्दल माहिती संग्रहित केली गेली होती (आणि अनेकदा बायनरी स्वरूपात).

Maven एक XML-आधारित, सार्वत्रिक, खुले मानक घेऊन आले आहे जे विविध टॅग वापरून प्रकल्प काय आहे, तो कसा बांधला जावा आणि त्यावर कोणते अवलंबन आहे याचे वर्णन करते. प्रकल्पाचे वर्णन एका फाईलमध्ये असते, ज्याला सहसा 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>

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


</project>

या उदाहरणात तीन गोष्टी लिहिल्या आहेत:

  • मॅवेन प्रकल्प मानकाच्या आवृत्तीबद्दल माहिती निळा आहे.
  • प्रकल्पाचीच माहिती लाल रंगात आहे.
  • वापरलेल्या ग्रंथालयांची माहिती हिरवी आहे.

चला pom फाइल डिव्हाइस जवळून पाहू.

मावेन प्रकल्पाची रचना

आणि ताबडतोब प्रश्न आहे: आपण शेवटच्या उदाहरणातील विचित्रतेकडे लक्ष दिले आहे का? त्यात प्रोजेक्ट कोडचीच माहिती नाही! जावा फाइल्स, रिसोर्सेस, प्रॉपर्टीज फाइल्स, एचटीएमएल, बिल्ड स्क्रिप्ट्स आणि यासारख्या गोष्टी कोठे संग्रहित केल्या जातात याबद्दल काहीही माहिती नाही.

आणि उत्तर सोपे आहे - मावेनने प्रकल्पाची रचना प्रमाणित केली. प्रोजेक्टमध्ये कोड आयोजित करण्यासाठी अनेक पर्याय आहेत आणि सर्वात सामान्य आहे:

मानक IDEA प्रकल्पांनंतर रचना थोडी असामान्य आहे, परंतु त्यासाठी ती सार्वत्रिक आहे. तुमच्या आयुष्यात तुम्ही ज्या प्रकल्पांना सामोरे जाल त्यापैकी 90% प्रकल्पांमध्ये ही फोल्डर रचना असेल .

तुम्ही Maven प्रकल्प (IDEA वापरून किंवा कन्सोल वापरून) तयार केल्यास, तो निर्दिष्ट फॉर्म घेईल. हे सर्व येथे कसे कार्य करते ते पाहूया.

तुम्ही अंदाज लावलेल्या src फोल्डरमध्ये प्रकल्पाचा स्त्रोत कोड आहे. यात दोन सबफोल्डर्स आहेत: मुख्य आणि चाचणी .

प्रकल्पातील सर्व Java वर्गांसाठी /src/main/java फोल्डर हे रूट आहे. तुमच्याकडे com.codegym.Cat क्लास असल्यास, तो /src/main/java /com/codegym /Cat.java फोल्डरमध्ये असेल . मजकूर किंवा बायनरी संसाधने असल्यास, ते /src/main/resources फोल्डरमध्ये संग्रहित केले पाहिजेत .

/src/test फोल्डरची रचना /src/main फोल्डरच्या संरचनेसारखी असते , परंतु त्यात चाचण्या आणि त्यांचे संसाधने असतात. प्रकल्प तयार करताना आवश्यक चाचण्या कशा करायच्या हे मॅवेनलाच माहित आहे, परंतु आम्ही याबद्दल वेगळ्या व्याख्यानात बोलू.

प्रकल्पामध्ये एक /लक्ष्य फोल्डर देखील आहे , जिथे मावेन प्रकल्प बांधल्यानंतर जतन करेल. मोठ्या प्रकल्पांमध्ये अनेकदा गैर-क्षुल्लक बिल्ड स्क्रिप्ट्स असल्याने, या फोल्डरमध्ये काहीही संग्रहित केले जात नाही.

/लक्ष्य फोल्डरचा दुसरा उद्देश इंटरमीडिएट बिल्ड परिणाम कॅशे करणे आहे. एक मोठा प्रकल्प तयार करताना, मॅवेन फक्त त्याच्या बदललेल्या भागाची पुनर्बांधणी करू शकते, अशा प्रकारे बिल्डचा वेळ अनेक वेळा वाढवते.

बरं, केकवर चेरी म्हणून - प्रकल्पाच्या अगदी मुळाशी pom.xml फाइल आहे. यात प्रकल्पाबद्दल सर्व आवश्यक माहिती आहे, ज्याची आम्ही खाली चर्चा करू.

डिव्हाइस pom.xml

सुरुवात करण्यासाठी, pom फाइल xml आहे, त्यामुळे त्यात मानक शीर्षलेख आणि नेमस्पेस माहिती आहे. हे सर्व पूर्णपणे 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">

        …

</ प्रकल्प>

तसेच, सामान्यतः <project> टॅगमधील पहिली ओळ ही pom-file मानकाच्या आवृत्तीचे वर्णन असते. जवळजवळ नेहमीच ते 4.0 असते. हे देखील आपल्यासाठी स्वारस्य नाही.

आम्हाला स्वारस्य असलेल्या पहिल्या ओळी यासारख्या दिसतात:

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.sample.app</groupId>
  <artifactId>new-app</artifactId>
  <version>1.0-SNAPSHOT</version>

मावेन स्टँडर्डमध्ये आपण काय वर्णन करतो (प्रोग्राम, प्रोजेक्ट, मॉड्यूल, लायब्ररी इ.) पुन्हा एकदा समजू नये म्हणून, याला आर्टिफॅक्ट हा शब्द म्हणतात . आपण मावेनच्या निर्मात्यांना नकार देऊ शकत नाही ते म्हणजे मानकीकरणाचे प्रेम.

तुम्हाला दिसत असलेले तीन टॅग म्हणजे:

  • groupId - डोमेन नाव जोडून अनुप्रयोग ज्या पॅकेजचा आहे;
  • artifactId - अद्वितीय स्ट्रिंग की (प्रोजेक्ट आयडी);
  • आवृत्ती - प्रकल्पाची आवृत्ती.

कोणत्याही कलाकृतीचे स्पष्टपणे वर्णन करण्यासाठी हे तीन पॅरामीटर्स पुरेसे आहेत .

पुढे, प्रकल्पाच्या वर्णनानंतर, प्रकल्प वापरत असलेल्या कलाकृतींची (लायब्ररी) सूची असते. हे असे काहीतरी दिसते:

   <dependencies>

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

   </dependencies>

या उदाहरणात, आम्‍ही आमच्‍या प्रोजेक्‍टमध्‍ये Commons-io पॅकेज, आवृत्ती 2.6 मधून Commons-io लायब्ररी जोडतो.

बिल्ड टाइममध्ये, मॅवेनला त्याच्या जागतिक भांडारात अशी लायब्ररी मिळेल आणि ती तुमच्या प्रोजेक्टमध्ये जोडेल. आणि तसे, केवळ मावेन हे करू शकत नाही.

IDEA Maven सह कसे कार्य करते

Intellij IDEA Maven सोबत काम करण्यात उत्तम आहे. तिला असे प्रकल्प कसे उघडायचे, ते स्वत: कसे तयार करायचे, विविध बिल्ड स्क्रिप्ट्स कसे चालवायचे हे माहित आहे आणि समाविष्ट लायब्ररी उत्तम प्रकारे समजते.

काही काळासाठी त्याचे स्वतःचे अंगभूत मावेन देखील आहे, परंतु तरीही आपण ते स्वतः स्थापित आणि कॉन्फिगर करण्यात सक्षम असणे आवश्यक आहे, म्हणून IDEA च्या या वैशिष्ट्याचा आधी उल्लेख केला गेला नाही. सिद्धांतानुसार, IDEA मध्ये दोन Mavens मधील संघर्ष असू शकतो, म्हणून दोन आहेत हे जाणून घेणे आपल्यासाठी चांगले आहे.

IDEA मध्ये नवीन Maven प्रकल्प कसा तयार करायचा:

मेनू फाइल्स > नवीन प्रोजेक्ट वर क्लिक करा. डावीकडील मेनू आयटम नवीन प्रकल्प निवडा .

maven प्रकल्प

चला काही मुद्दे स्पष्ट करूया:

  1. प्रकल्पाचे नाव;
  2. प्रकल्पासाठी फोल्डर;
  3. प्रकल्प भाषा जावा आहे;
  4. प्रकल्प प्रकार मावेन आहे.

तळाशी प्रगत सेटिंग्ज विभागात, IDEA तुम्हाला आमच्या नवीन प्रकल्पाची goupID, artifactID आणि आवृत्ती निर्दिष्ट करण्यासाठी सूचित करेल. हा डेटा नंतर कधीही सहज बदलला जाऊ शकतो. सुचविलेल्यांमधून निवडा किंवा तुमचे स्वतःचे प्रविष्ट करा:

मावेन प्रकल्प २

पुढे, आवश्यक ठिकाणी प्रमाणितपणे एक प्रकल्प तयार करा. परिणामी, आम्ही रचना पाहतो:

मावेन प्रकल्प 3

जावा फोल्डरमध्ये वर्ग आणि पॅकेजेस तयार करणे आवश्यक आहे, आम्ही याबद्दल आधीच बोललो आहोत. आणि मला वाटते की आपण ते सहजपणे हाताळू शकता. आम्ही पुढे जाण्यास तयार आहोत, पण एका महत्त्वाच्या मुद्द्याकडे थोडे मागे जाऊ या, जो आम्ही थोडा "वगळला" आहे.