Book Details

ISBN 139781849512442

Paperback224 pages

Book Description

Apache Maven is more than just build automation. When positioned at the very heart of your development strategy, Apache Maven can become a force multiplier not just for individual developers but for agile teams and managers. This book covers implementation of Apache Maven with popular enterprise technologies/frameworks and introduces agile collaboration techniques and software engineering best practices integrated with Apache Maven.

The Apache 3 Maven Cookbook is a real-world collection of step-by-step solutions for individual programmers, teams, and managers to explore and implement Apache Maven and the engineering benefits it brings into their development processes.

This book helps with the basics of Apache Maven and with using it to implement software engineering best practices and agile team collaboration techniques. It covers a broad range of emergent and enterprise technologies in the context of Apache Maven, and concludes with recipes on extending Apache Maven with custom plugins.

We look at specific technology implementations through Apache Maven including Java Web Applications, Enterprise Java Frameworks, Cloud Computing, Mobile / Device development, and more. We also look at Maven integration with popular IDEs including Eclipse, NetBeans, and IntelliJIDEA.

The book is rounded off by exploring extending the Apache Maven platform by building custom plugins, integrating them with existing projects, and executing them through explicit command-line calls or with Maven Build Phases.

Table of Contents

Chapter 1: Basics of Apache Maven

Setting up Apache Maven on Windows

Setting up Apache Maven on Linux

Setting up Apache Maven on Mac

Verifying the Apache Maven installation

Creating a new project

Compiling and testing a project

Understanding the Project Object Model

Understanding the build lifecycle

Understanding build profiles

Chapter 2: Software Engineering Techniques

Build automation

Project modularization

Dependency management

Source code quality checks

Test Driven Development

Acceptance testing automation

Deployment automation

Chapter 3: Agile Team Collaboration

Creating centralized remote repositories

Performing continuous integration with Hudson

Integrating source code management

Team integration with Apache Maven

Implementing environment integration

Distributed development

Working in offline mode

Chapter 4: Reporting and Documentation

Documenting with a Maven site

Generating Javadocs with Maven

Generating unit test reports

Generating code coverage reports

Generating code quality reports

Setting up the Maven dashboard

Chapter 5: Java Development with Maven

Building a web application

Running a web application

Enterprise Java development with Maven

Using Spring Framework with Maven

Using Hibernate persistence with Maven

Using Seam Framework with Maven

Chapter 6: Google Development with Maven

Setting up the Android development environment

Developing an Android application

Testing and debugging an Android application

Developing a Google Web Toolkit application

Testing and debugging a Google Web Toolkit application

Developing a Google App Engine application

Chapter 7: Scala, Groovy, and Flex

Integrating Scala development with Maven

Integrating Groovy development with Maven

Integrating Flex development with Maven

Chapter 8: IDE Integration

Creating a Maven project with Eclipse 3.7

Importing a Maven project with Eclipse 3.7

Creating a Maven project with NetBeans 7

Importing a Maven project with NetBeans 7

Creating a Maven project with IntelliJ IDEA 10.5

Importing a Maven project with IntelliJ IDEA 10.5

Chapter 9: Extending Apache Maven

Creating a Maven plugin using Java

Making your Java Maven plugin useful

Documenting your Maven plugin

Creating a Maven plugin using Ant

Creating a Maven plugin using JRuby

What You Will Learn

Install, set up, and configure Apache Maven 3 for your development architecture

Understand the entire Build Lifecycle Concept used in Maven 3

Develop Enterprise Java applications with Maven

Learn and implement build automation, dependency management, and test-driven development

Integrate various development platforms such as Eclipse, NetBeans, and IntelliJIDEA IDE using Apache Maven 3

Use the Project Object Model for software development

Authors

Srirangan

Srirangan is a passionate programmer with three years of freelance and five years of industry experience. He has been involved with projects in a wide array of technologies including Google App Engine, Python, Java, Adobe Flex, and PHP.
He brings a unique approach to problem solving, design, and architecture with a focus on simplicity and effectiveness. Supplemented with a keen understanding of business, he brings an added perspective to his work. He specializes in the Defense, Aerospace, and Strategic sectors and has a never-ending passion for product innovation and development.
He is a speaker at various technology events and is a keen follower of industry and technology.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.