Apache Maven
पोम - प्रोजेक्ट ऑब्जेक्ट मॉडल
खोज…
पोम संरचना
प्रोजेक्ट ऑब्जेक्ट मॉडल मावेन की मूल इकाई है और परियोजना की संरचना, निर्भरता आदि को परिभाषित करता है।
POM बनाने के लिए निम्नलिखित बहुत कम हैं:
-
project
जड़ -
modelVersion
-4.0.0
सेट किया जाना चाहिए -
groupId
- परियोजना के समूह की आईडी -
artifactId
- विरूपण साक्ष्य (परियोजना) की आईडी -
version
- निर्दिष्ट समूह के तहत विरूपण साक्ष्य का संस्करण
groupId
, artifactId
और version
को Maven निर्देशांक कहा जाता है और कभी-कभी GAV के साथ संक्षिप्त किया जाता है। वे विशिष्ट रूप से एक मावेन भंडार में एक परियोजना के परिणामस्वरूप कलाकृतियों की पहचान करते हैं (और पूरे ब्रह्मांड में ऐसा करना चाहिए )।
एक न्यूनतम नमूना POM जैसा दिखता है:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
पोम वंशानुक्रम
वंशानुक्रम पोम की सबसे बड़ी संपत्ति है, जहां सुपर पोम से बाल पोम तक प्रबंधित किया जा सकता है।
- निर्भरता
- डेवलपर्स और योगदानकर्ताओं
- प्लगइन सूची (रिपोर्ट सहित)
- आईडी मिलान के साथ प्लगइन निष्पादित
- प्लगइन विन्यास
निम्नलिखित वंशानुक्रम को सक्षम करता है
<parent>
<groupId>com.sample</groupId>
<artifactId>sample-app-parent</artifactId>
<version>1.0.0</version>
</parent>
पोम संरचना जैसा दिखता है
<project>
<parent>
<groupId>com.sample</groupId>
<artifactId>sample-app-parent</artifactId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
पोम एकत्रीकरण
एक मल्टी-मॉड्यूल प्रोजेक्ट के मॉड्यूल एक पदानुक्रमित संरचना से एकत्रित होते हैं।
रूट pom
पैकिंग की तरह दिखना चाहिए:
<packaging>pom</packaging>
निम्नलिखित परियोजना की निर्देशिका संरचना होगी:
|-- sample-app
\ `-- pom.xml
|-- sample-module-1
| `-- pom.xml
|-- sample-module-2
| `-- pom.xml
रूट पोम:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>sample-module-1</module>
<module>sample-module-2</module>
</modules>
<dependencyManagement>
...
</dependencyManagement>
</project>