About
pom.xml is an XML representation of a Maven project known also as the project descriptor.
It is ultimately a project declaration. Where as a build.xml tells ant precisely what to do when it is run (procedural), a POM states its configuration (declarative).
The POM is the basic unit of work in Maven.
You can create it:
- manually
- or from a Maven archetype.
Definition of:
- definition of dependencies: All dependencies required to build and run an application
See
Articles Related
Simple POM
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
where:
- project is the top-level element in all Maven pom.xml files.
- modelVersion indicates the version of the model
- The coordinate of a specific project in time is represented by:
- packaging indicates the package type to be used by this artifact (e.g. JAR, WAR, EAR, etc.). The default value for the packaging element is JAR.
Description/Documentation Element:
- name indicates the display name used for the project.
- url indicates where the project's site can be found.
- description provides a basic description of your project.
Third party integration
Ant
The target fetchDependencies of an ant build script looks at the required dependencies, looks at maven's dependency cache (in the user's home directory) and downloads the dependency jar files from one of the maven repositories to the shared dependency cache.
Eclipse
To convert pom.xml to a project file for an IDE, you can use the utility mvn: