You are previewing Apache Maven 3 Cookbook.
O'Reilly logo
Apache Maven 3 Cookbook

Book Description

Over 50 recipes towards optimal Java Software Engineering with Maven 3

  • Grasp the fundamentals and extend Apache Maven 3 to meet your needs

  • Implement engineering practices in your application development process with Apache Maven

  • Collaboration techniques for Agile teams with Apache Maven

  • Use Apache Maven with Java, Enterprise Frameworks, and various other cutting-edge technologies

  • Develop for Google Web Toolkit, Google App Engine, and Android Platforms using Apache Maven

In Detail

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.

A practical collection of real-world recipes on efficient Java software development with Apache Maven 3 for individual programmers, managers, and entire teams

Table of Contents

  1. Apache Maven 3 Cookbook
    1. Table of Contents
    2. Apache Maven 3 Cookbook
    3. Credits
    4. About the Author
    5. About the Reviewer
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why subscribe?
        2. Free access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Basics of Apache Maven
      1. Setting up Apache Maven on Windows
        1. Getting ready
        2. How to do it...
        3. See also
      2. Setting up Apache Maven on Linux
        1. Getting ready
        2. How to do it...
        3. See also
      3. Setting up Apache Maven on Mac
        1. Getting ready
        2. How to do it...
        3. See also
      4. Verifying the Apache Maven installation
        1. How to do it...
        2. See also
      5. Creating a new project
        1. How to do it...
        2. How it works...
      6. Compiling and testing a project
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      7. Understanding the Project Object Model
        1. Structure of a POM
        2. Project co-ordinates
        3. Sections of the POM
        4. See also
      8. Understanding the build lifecycle
        1. Default lifecycle
        2. Clean lifecycle
        3. Site lifecycle
        4. See also
      9. Understanding build profiles
        1. Explicit command-line trigger
        2. Maven settings trigger
        3. Environment specific trigger
        4. See also
    9. 2. Software Engineering Techniques
      1. Build automation
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      2. Project modularization
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Dependency management
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      4. Source code quality checks
        1. Getting ready
        2. How to do it...
        3. How it works...
      5. Test Driven Development
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      6. Acceptance testing automation
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      7. Deployment automation
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    10. 3. Agile Team Collaboration
      1. Creating centralized remote repositories
        1. Getting ready
        2. How to do it...
        3. How it works...
      2. Performing continuous integration with Hudson
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Integrating source code management
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      4. Team integration with Apache Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
      5. Implementing environment integration
        1. Getting ready
        2. How to do it...
        3. How it works…
        4. See also
      6. Distributed development
        1. How to do it...
        2. How it works...
        3. See also
      7. Working in offline mode
        1. Getting ready
        2. How to do it...
        3. How it works...
    11. 4. Reporting and Documentation
      1. Documenting with a Maven site
        1. Getting ready
        2. How to do it...
        3. How it works...
      2. Generating Javadocs with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Generating unit test reports
        1. Getting ready
        2. How to do it...
        3. How it works..
      4. Generating code coverage reports
        1. Getting ready
        2. How to do it...
        3. How it works...
      5. Generating code quality reports
        1. Getting ready
        2. How to do it...
        3. How it works...
      6. Setting up the Maven dashboard
        1. Getting ready
        2. How to do it...
        3. How it works…
    12. 5. Java Development with Maven
      1. Building a web application
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      2. Running a web application
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Enterprise Java development with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
      4. Using Spring Framework with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
          1. Inversion of Control
          2. Aspect Oriented Programming
          3. Unit testing with Spring Framework
      5. Using Hibernate persistence with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
      6. Using Seam Framework with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
    13. 6. Google Development with Maven
      1. Setting up the Android development environment
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also…
      2. Developing an Android application
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Testing and debugging an Android application
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      4. Developing a Google Web Toolkit application
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      5. Testing and debugging a Google Web Toolkit application
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      6. Developing a Google App Engine application
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    14. 7. Scala, Groovy, and Flex
      1. Integrating Scala development with Maven
        1. Getting ready
        2. How to do it...
        3. How it works…
        4. There's more…
      2. Integrating Groovy development with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      3. Integrating Flex development with Maven
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    15. 8. IDE Integration
      1. Creating a Maven project with Eclipse 3.7
        1. Getting ready
        2. How to do it...
        3. How it works...
      2. Importing a Maven project with Eclipse 3.7
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      3. Creating a Maven project with NetBeans 7
        1. Getting ready
        2. How to do it...
        3. How it works...
      4. Importing a Maven project with NetBeans 7
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      5. Creating a Maven project with IntelliJ IDEA 10.5
        1. Getting ready
        2. How to do it...
        3. How it works...
      6. Importing a Maven project with IntelliJ IDEA 10.5
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    16. 9. Extending Apache Maven
      1. Creating a Maven plugin using Java
        1. Getting ready
        2. How to do it...
        3. How it works…
      2. Making your Java Maven plugin useful
        1. Getting ready
        2. How to do it...
        3. How it works…
      3. Documenting your Maven plugin
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more
      4. Creating a Maven plugin using Ant
        1. Getting ready
        2. How to do it...
        3. How it works...
      5. Creating a Maven plugin using JRuby
        1. Getting ready
        2. How to do it...
        3. How it works...
    17. Index