O’Reilly news

"Maven: A Developer's Notebook": Taking the Guesswork Out of Projects

June 30, 2005

Sebastopol, CA--Maven is the new software project management and comprehension tool sweeping the Java world. It makes the release process a science, not a black art. If that sounds exciting, it shouldn't: Maven is an incredibly boring technology. That's how Jason van Zyl, the founder of the Apache Maven Project, describes it in his foreword to Maven: A Developer's Notebook (O'Reilly, US $29.95). "If you use Maven," writes van Zyl, "your development infrastructure will be so coherent, predictable, and reproducible that you won't even think about it anymore. Your development infrastructure will just work. Period."

But what exactly is Maven? As coauthors Vincent Massol and Timothy O'Brien explain, "Maven provides a rich development infrastructure (compilation, testing, reporting, collaboration, and documentation) from a simple description of any Java project. It's an easy way to build a project without having to build a build system." Maven allows developers to enforce standards across a project, so that all parts of the project build in the same way. It puts project-wide mechanisms in place for testing, report generation, deployment, and publishing. It puts an end to tracking down and installing obscure-dependencies, and eliminates the need to reverse-engineer a build project that has grown out of control and is completely different for each subproject.

As agreeable as that sounds, there is still a learning curve involved in implementing Maven, particularly if one is applying Maven's project management capabilities to an existing project. Maven: A Developer's Notebook is the reference that the Maven community has asked for, written by authors who have been closely involved with Maven since its early days. Full of real-life tips and practices, the book teaches developers how to make their build processes as reliable as they should be, automate reporting, and in general, take the guesswork out of projects.

Maven started as an attempt to simplify and standardize the complex Ant-based build process used for the Jakarta Turbine. When Massol first encountered Maven, he was already completely automating the building of applications and systems that he was developing, from sources to deployment on acceptance platforms. "I was using Ant at the time," he recalls. "The problem was that the Ant build scripts were quickly more than a thousand lines long and as the number of subprojects was high (around twenty for the project I have in mind), I had to maintain 20*1000 lines of build code. This was a pain and there was no easy way to factorize this build code. Then I found Maven." Massol found he had to participate in the project to make it usable for his own use cases. "This is how I got involved," says Massol. "I've never looked back."

Working through concrete, realistic situations, readers of Maven: A Developer's Notebook learn how to:

  • Generate a Maven project from scratch in just a few minutes
  • Create Eclipse project files from a Maven project
  • Publish a project site, including essential project metrics such as test coverage, Checkstyle, JDepend, and PMD analysis
  • Use Maven to set up a Continuous Integration environment based on CruiseControl
  • Create their own Maven remote repository
  • Develop Maven plug-ins to generate custom reports and perform other tasks
  • Execute functional tests in Maven with JUnit, HtmlUnit, and Jetty
  • In the all-lab, no-lecture format of the Developer's Notebooks, Maven: A Developer's Notebook gets developers up and running with Maven immediately.

    Additional Resources:

    Maven: A Developer's Notebook
    Vincent Massol and Timothy O'Brien
    ISBN: 0-596-00750-7, 191 pages, $29.95 US, $41.95 CA
    order@oreilly.com
    1-800-998-9938; 1-707-827-7000

    About O’Reilly

    O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.

    Email a link to this press release