Showing posts with label Maven. Show all posts
Showing posts with label Maven. Show all posts

Monday, January 26, 2015

Maven - POM and Super POM

POM, or Project Object Model, is an XML file which stores necessary information, like version, dependent libraries and reports to be generated,  for Maven to build a project.

The XML primarily contains the following information:


<?xml version="1.0" encoding="UTF-8"?>
<project>
  <modelVersion>4.0.0</modelVersion> 
 
  <!-- The Basics -->
  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <packaging>...</packaging>
  <dependencies>...</dependencies>
  <parent>...</parent>
  <dependencyManagement>...</dependencyManagement>
  <modules>...</modules>
  <properties>...</properties> 
 
  <!-- Build Settings -->
  <build>...</build>
  <reporting>...</reporting>
  <!-- Project Meta Data -->
  <name>...</name>
  <description>...</description>
  <url>...</url>
  <inceptionYear>...</inceptionYear>
  <licenses>...</licenses>
  <organization>...</organization>
  <developers>...</developers>
  <contributors>...</contributors> 
 
  <!-- Environment -->
  <issueManagement>...</issueManagement>
  <ciManagement>...</ciManagement>
  <mailingLists>...</mailingLists>
  <scm>...</scm>
  <prerequisites>...</prerequisites>
  <repositories>...</repositories>
  <pluginRepositories>...</pluginRepositories>
  <distributionManagement>...</distributionManagement>
  <profiles>...</profiles>
</project>

The three fields - groupId, artifactId, and version, are the minimal basic fields that a POM definition must contain.

The Super POM is Maven's default POM. All POMs extend the Super POM unless explicitly set, meaning the configuration specified in the Super POM is inherited by the POMs you created for your projects.


Create a Successful Online Store at Bigcommerce! Try it Free Now!