Section 1.5. Working with the Project Object Model


1.5. Working with the Project Object Model

The Project Object Model (POM) is a central part of Maven, and you will work with it throughout this book.

1.5.1. How do I do that?

The POM is also referred to as the project descriptor. The XML in project.xml describes a project's source code, developers, source control, licensing, as well as identifying information such as the name of the project and the name of the sponsoring organization. Maven's POM is a break with build systems of the past; instead of providing explicit instructions for each build, Maven uses a declarative approach to build management. In other words, you don't tell Maven what to do as much as Maven just knows where to look based on the contents of project.xml. On the other hand, Ant is an imperative approach to project builds; you end up telling Ant to compile this class, make this directory, bundle up these files into a WAR, etc. Maven maintains an assortment of plug-ins crafted to work with a standard POMa declaration of structure, identification, and content.

If you look at the project.xml file generated by the previous exercise you will notice a number of elements which have been omitted from the previous discussion. The following XML lists the top-level elements in a POM, in the order in which they are expected:

<project>   <extend/>   <pomVersion/>   <id/>   <name/>   <groupId/>   <currentVersion/>   <organization/>   <inceptionYear/>   <package/>   <logo/>   <gumpRepositoryId/>   <description/>   <shortDescription/>   <url/>   <issueTrackingUrl/>   <siteAddress/>   <siteDirectory/>   <distributionSite/>   <distributionDirectory/>   <repository/>   <versions/>   <branches/>   <mailingLists/>   <developers/>   <contributors/>   <licenses/>   <dependencies/>   <build/>   <reports/>   <properties/> </project>

This chapter explores most of the elements listed in the previous XML, including contributors, developers, dependencies, reports, and repository. The labs in this chapter will provide the details, but you should use the previous XML excerpt to place elements in the proper sequence within your project.xml files.



Maven. A Developer's Notebook
Maven: A Developers Notebook (Developers Notebooks)
ISBN: 0596007507
EAN: 2147483647
Year: 2003
Pages: 125

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net