Maven : Java Glossary

go to home page M words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish by Roedy Green ©1996-2009 Canadian Mind Products
index page for letter ⇒ punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
Maven
Apache’s build tool. You use a standard directory layout rather than specifing commands to describe how to pull it all together. You use a generated XML POM (Project Object Model) file that describes your project, rather than how to build your project as you do in Ant. Maven is particularly good for EE. Ant is very repetitive. Maven is a way of factoring out that repetitiveness. I used another technique for doing that before I had heard of Maven. I wrote a Java Stomp program to generate my Ant scripts.

You can see from this example Maven script contributed by Owen Jacobsen that, unlike ANT, you don’t get involved with the low level details of the various steps of compilation and bundling.

The <packaging> element, near the top, is enough to tell Maven how to build things, in most cases: <packaging>jar</packaging>, for example, causes src/main/java to be compiled, src/main/resources to be copied (and optionally filtered through a token-replacement layer), src/test/java to be compiled and run as test cases, then the resulting classes and files from src/main used to build a JAR. There are built-in packaging types for JARs, WARs, EARs, EJB-JARs, RARs and some maven infrastructure types like pom. New packaging types (with associated “standard” build procedures) can be implemented as plugins — there are, for example, plugins for JBoss SAR files, Flex applications and libraries, and a bunch of other things.

If you need to specify how to build something, you can add new plugins to the build (not shown in the example) or reconfigure the standard plugins to behave differently. There’s also an inheritance model, where projects can inherit settings.

Most of the information in pom.xml is actually not related to building the project at all: it's metadata about the project.

Ant
Maven Plugin List
Maven Repository: search engine for Maven-related material
XML

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.58]
You are visitor number 5,569.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/maven.html J:\mindprod\jgloss\maven.html