Sonatype Company is Jason Van Zyl's company and pretty much the center of the Maven universe. Jason Van Zyl is the inventor and lead developer of Maven.
Preface | p. xi |
Introduction | |
Introducing Apache Maven | p. 3 |
Convention over Configuration | p. 3 |
A Common Interface | p. 4 |
Universal Reuse Through Maven Plugins | p. 5 |
Conceptual Model of a "Project" | p. 6 |
Is Maven an Alternative to XYZ? | p. 6 |
Comparing Maven and Ant | p. 7 |
Summary | p. 11 |
Installing and Running Maven | p. 13 |
Verify Your Java Installation | p. 13 |
Downloading Maven | p. 14 |
Installing Maven | p. 14 |
Testing a Maven Installation | p. 16 |
Maven Installation Details | p. 16 |
Getting Help with Maven | p. 17 |
Using the Maven Help Plugin | p. 18 |
About the Apache Software License | p. 21 |
Maven by Example | |
A Simple Maven Project | p. 25 |
Introduction | p. 25 |
Creating a Simple Project | p. 26 |
Building a Simple Project | p. 27 |
Simple Project Object Model | p. 28 |
Core Concepts | p. 30 |
Summary | p. 41 |
Customizing a Maven Project | p. 43 |
Introduction | p. 43 |
Defining the Simple Weather Project | p. 43 |
Creating the Simple Weather Project | p. 44 |
Customize Project Information | p. 45 |
Add New Dependencies | p. 46 |
Simple Weather Source Code | p. 48 |
Add Resources | p. 53 |
Running the Simple Weather Program | p. 54 |
Writing Unit Tests | p. 58 |
Adding Test-Scoped Dependencies | p. 60 |
Adding Unit Test Resources | p. 61 |
Executing Unit Tests | p. 62 |
Building a Packaged Command-Line Application | p. 65 |
A Simple Web Application | p. 67 |
Introduction | p. 67 |
Defining the Simple Web Application | p. 67 |
Creating the Simple Web Project | p. 68 |
Configuring the Jetty Plugin | p. 69 |
Adding a Simple Servlet | p. 71 |
Adding J2EE Dependencies | p. 73 |
Conclusion | p. 75 |
A Multimodule Project | p. 77 |
Introduction | p. 77 |
The Simple Parent Project | p. 77 |
The Simple Weather Module | p. 79 |
The Simple Web Application Module | p. 81 |
Building the Multimodule Project | p. 83 |
Running the Web Application | p. 85 |
Multimodule Enterprise Project | p. 87 |
Introduction | p. 87 |
The Simple Parent Project | p. 90 |
The Simple Weather Module | p. 95 |
The Simple Persist Module | p. 99 |
The Simple Web Application Module | p. 105 |
Running the Web Application | p. 116 |
The simple-command Module | p. 117 |
Running simple-command | p. 122 |
Conclusion | p. 125 |
Maven Reference | |
Optimizing and Refactoring POMs | p. 129 |
Introduction | p. 129 |
POM Cleanup | p. 130 |
Optimizing Dependencies | p. 130 |
Optimizing Plugins | p. 134 |
Optimizing with the Maven Dependency Plugin | p. 136 |
Final POMs | p. 139 |
Conclusion | p. 147 |
The Project Object Model | p. 149 |
Introduction | p. 149 |
The POM | p. 149 |
POM Syntax | p. 156 |
Project Dependencies | p. 159 |
Project Relationships | p. 168 |
POM Best Practices | p. 173 |
The Build Lifecycle | p. 181 |
Introduction | p. 181 |
Package-Specific Lifecycles | p. 185 |
Common Lifecycle Goals | p. 189 |
Build Profiles | p. 197 |
What Are They For? | p. 197 |
Portability Through Maven Profiles | p. 200 |
Profile Activation | p. 203 |
External Profiles | p. 206 |
Settings Profiles | p. 207 |
Listing Active Profiles | p. 209 |
Tips and Tricks | p. 209 |
Summary | p. 215 |
Maven Assemblies | p. 217 |
Introduction | p. 217 |
Assembly Basics | p. 218 |
Overview of the Assembly Descriptor | p. 226 |
The Assembly Descriptor | p. 228 |
Controlling the Contents of an Assembly | p. 229 |
Best Practices | p. 252 |
Summary | p. 259 |
Properties and Resource Filtering | p. 261 |
Introduction | p. 261 |
Maven Properties | p. 261 |
Resource Filtering | p. 266 |
Maven and Eclipse: m2eclipse | p. 271 |
Introduction | p. 271 |
m2eclipse | p. 271 |
Installing the m2eclipse Plugin | p. 272 |
Enabling the Maven Console | p. 274 |
Creating a Maven Project | p. 275 |
Create a Maven POM File | p. 280 |
Importing Maven Projects | p. 282 |
Running Maven Builds | p. 285 |
Working with Maven Projects | p. 286 |
Working with Maven Repositories | p. 292 |
Using the Form-Based POM Editor | p. 294 |
Analyzing Project Dependencies in m2eclipse | p. 298 |
Maven Preferences | p. 303 |
Summary | p. 306 |
Site Generation | p. 309 |
Introduction | p. 309 |
Building a Project Site with Maven | p. 310 |
Customizing the Site Descriptor | p. 311 |
Site Directory Structure | p. 314 |
Writing Project Documentation | p. 315 |
Deploying Your Project Web Site | p. 317 |
Customizing Site Appearance | p. 319 |
Tips and Tricks | p. 328 |
Repository Manager | p. 333 |
Introduction | p. 333 |
Installing Nexus | p. 334 |
Using Nexus | p. 341 |
Configuring Maven to Use Nexus Repositories | p. 346 |
Configuring Nexus | p. 354 |
Maintaining Repositories | p. 374 |
Deploying Artifacts to Nexus | p. 376 |
Writing Plugins | p. 383 |
Introduction | p. 383 |
Programming Maven | p. 383 |
Plugin Descriptor | p. 387 |
Writing a Custom Plugin | p. 392 |
Mojo Parameters | p. 400 |
Plugins and the Maven Lifecycle | p. 406 |
Writing Plugins in Alternative Languages | p. 411 |
Writing Plugins in Ant | p. 411 |
Creating an Ant Plugin | p. 412 |
Writing Plugins in JRuby | p. 414 |
Writing Plugins in Groovy | p. 420 |
Appendixes | |
Settings Details | p. 425 |
Sun Specification Alternatives | p. 435 |
Index | p. 439 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.