Chapter 2. Customizing Maven

In Chapter 1 you worked with the project.xml file, which describes the project, organization, team, location of source files, and other information Maven uses to build a project. You saw how to list available goals, and how easy it is to start using Maven. Often you'll need to customize the build process Maven uses to suit your own needs; for example, you may need to copy a JAR file to another directory, or you may want to write your own goal. This chapter focuses on Jelly and the maven.xml file.

Tip

While Maven 1 plug-ins are written in Jelly, Maven 2 moves away from this XML scripting language in favor of plug-ins written in Java (plain old Java). So, don't get too enamored with Jelly. Maven 2 is moving away from Jelly for a number of reasons, one of them being performance. As a consequence, always try to reduce the size of your maven.xml file and reuse the existing plug-ins as much as possible. This will save you countless hours when you switch to Maven 2 in the future. After telling you this, why should you still read this chapter? Because you need to know Jelly for Maven 1, and Maven 2 will still support it in some fashion, but plug-in developers will be encouraged to write plug-ins in Java. Maven 2 may also include integration with other Java scripting frameworks, such as Groovy and Marmalade. This chapter isn't just about Jelly, and many of the concepts presented in this chapter will remain relevant.

The sample project, called Weather, which is ...

Get Maven: A Developer's Notebook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.