Learning Maven can be a daunting and frustrating task. While there are a number of references for Maven online, there is no single, well-written narrative for introducing Maven that can serve as both an authoritative reference and an introduction. Sonatype maintains two books focused on Maven: an example-driven introduction to Maven, "Maven by Example" and this reference book. If you are new to Maven, you are encouraged to read "Maven by Example" as it will guide you through the first steps you'll take with Maven.
- Preface
- 1. Introducing Apache Maven
- 2. Installing Maven
- 3. The Project Object Model
- 4. The Build Lifecycle
- 5. Build Profiles
- 6. Running Maven
-
- 6.1. Maven Command Line Options
-
- 6.1.1. Defining Properties
- 6.1.2. Getting Help
- 6.1.3. Using Build Profiles
- 6.1.4. Displaying Version Information
- 6.1.5. Running in Offline Mode
- 6.1.6. Using a Custom POM or Custom Settings File
- 6.1.7. Encrypting Passwords
- 6.1.8. Dealing with Failure
- 6.1.9. Controlling Maven’s Verbosity
- 6.1.10. Running Maven in Batch Mode
- 6.1.11. Downloading and Verifying Dependencies
- 6.1.12. Non-recursive Builds
- 6.2. Using Advanced Reactor Options
- 6.3. Using the Maven Help Plugin
- 7. Maven Configuration
- 8. Maven Assemblies
- 9. Properties and Resource Filtering
- 10. Site Generation
- 11. Writing Plugins
- 12. Using Maven Archetypes
- 13. Developing with Flexmojos
- 14. Android Application Development with Maven
-
- 14.1. Introduction
- 14.2. Configuring Build Environment for Android Development
- 14.3. Getting Started
- 14.4. Creating New Projects with the Android Maven Archetypes
- 14.5. Using Add-Ons
- 14.6. Multi Module Android Projects
- 14.7. Using external dependencies
- 14.8. The Custom Lifecycle from the Android Maven Plugin
- 14.9. Plugin Configuration Parameters
- 14.10. Device Interaction
- 14.11. Emulator Interaction
- 14.12. Other Useful Android Maven Plugin Goals
- 14.13. Internal Android Maven Plugin Goals
- 14.14. Testing Android Application Code
- 14.15. Native Application Builds
- 14.16. Tips and Tricks
- 15. Appendix: Settings Details
- 16. Appendix: Sun Specification Alternatives
- 17. Creative Commons License
- Copyright
List of Figures
- 2.1. Downloading Maven 2 from the Apache Maven web site
- 2.2. Downloading Maven 3 from the Apache Maven web site
- 3.1. The Project Object Model
- 3.2. The Super POM is always the base Parent
- 3.3. Project Inheritance for a-parent and project-a
- 3.4. maven-book Multi-module vs. Inheritance
- 3.5. Enterprise Multi-module vs. Inheritance
- 6.1. Directory Structure of Sample Multi-module Project
- 6.2. Dependencies within Sample Multi-module Project
- 10.1. Simple Generated Maven Site
- 10.2. Customized Sample Project Web Site
- 13.1. Adding a Proxy Repository to Sonatype Nexus
- 13.2. Configuring the Sonatype Flexmojos Proxy Repository
- 13.3. Adding the Sonatype Flexmojos Proxy to the Public Repositories Group
- 13.4. Flexmojo Library Archetype File Structure
- 13.5. Directory Structure for Flex Application Archetype
- 13.6. Directory Structure for Flex Multimodule Archetype
- 13.7. The FlexMojos SWC Lifecycle
- 13.8. The FlexMojos SWF Lifecycle
- 13.9. Actionscript Documentation Generated by the FlexMojos Plugin
- 13.10. Actionscript Documentation Report on Maven Site
- 13.11. Flexmojos Subversion Repository
- 15.1. Storing Unencrypted Passwords in Maven Settings
- 15.2. Storing Encrypted Passwords in Maven Settings