Maven basics

A Project Object Model or POM is the fundamental unit of work in Maven. It is an xml file that contains information about the project and configuration details used by Maven to build the project. It contains default values for most projects.

Maven basics

     

 I . Project Object Model

A Project Object Model or POM is the fundamental unit of work in Maven. It is an xml file that contains information about the project and configuration details used by Maven to build the project. It contains default values for most projects. For  examples 
 the build directory, which is "target";
 the source directory, which is "src/main/java";
 the test source directory, which is "src/main/test"; and so on.

POM also contains the goals and plugins. So, while executing a task or goal, Maven looks for the POM in the current directory. It reads the POM, gets the needed configuration information, then executes the goal.

Some of the configuration that can be specified in the POM are the project dependencies, the plugins or goals that can be executed, the build profiles, and so on. Other information such as the project version, description, developers, mailing lists and such can also be specified.

The minimum requirement for a POM are the following:

  • project root
  • modelVersion - should be set to 4.0.0
  • groupId - the id of the project's group.
  • artifactId - the id of the artifact (project)
  • version - the version of the artifact under the specified group

Here's an example:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.roseindia.maven</groupId>
  <artifactId>HelloMaven</artifactId>
  <version>1</version>
</project>