Skip to Content
Maven: A Developer's Notebook
book

Maven: A Developer's Notebook

by Vincent Massol, Timothy M. O'Brien
June 2005
Beginner
224 pages
5h 40m
English
O'Reilly Media, Inc.
Content preview from Maven: A Developer's Notebook

Creating Custom Top-Level Goals

Now let's build the QOTD web application using our master project. Hold on! What does it mean to build the QOTD web application? Each subproject has its own definition of build: for the core subproject it means calling the jar:install goal, for the web subproject it means calling the war:install goal, etc. You need to define some common goals in your subprojects that you can call from your master project.

How do I do that?

You can do this easily, by creating a maven.xml file in each subproject and defining a custom goal in there. Let's call this goal qotd:build. Here's what you would put in the core/maven.xml file:

<?xml version="1.0"?>
  
<project default="qotd:build">
  <goal name="qotd:build" prereqs="jar:install"/>
</project>

The same applies for the other subprojects. For example, for the web subproject, you'll write:

<?xml version="1.0"?>
  
<project default="qotd:build">
  <goal name="qotd:build" prereqs="war:install"/>
</project>

Note

To manage different types of subproject builds, define the same custom goal in each subproject and use the Multiproject plug-in to execute it.

Now that each subproject has a qotd:build goal that builds it, you can also create a qotd:build goal in the master project's maven.xml file. This goal uses the Multiproject plug-in to call the qotd:build goal on all the subprojects:

<?xml version="1.0"?> <project default="qotd:build" xmlns:j="jelly:core"> <goal name="qotd:build"> <j:set var="goal" value="qotd:build"/> <attainGoal name="multiproject:goal"/> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Maven Crash Course

Maven Crash Course

Jason Taylor

Publisher Resources

ISBN: 0596007507Errata Page