Book Image

Apache Maven 2 Effective Implementation

By : Brett Porter, Maria Odea Ching
Book Image

Apache Maven 2 Effective Implementation

By: Brett Porter, Maria Odea Ching

Overview of this book

<p>By building up a sample application, this book guides developers painlessly through building a project with Maven. This book shows you how to combine Maven with Continuum and Archiva, which will allow you to build an efficient, secure application and make developing in a team easy.<br /><br />You may already be aware of the pitfalls of 'integration hell' caused by changed code being submitted to repositories by a number of developers. When you implement Continuum in your build, you can easily perform continuous integration, avoiding timely rework and reducing cost and valuable time. You will be able to use Maven more efficiently in a team after you learn how to set up Archiva, Apache's repository manager.<br /><br />It's easy to quickly get to work with Maven and get the most out of its related tools when you follow the sequential coverage of the sample application in this book. A focus on team environments ensures that you will avoid the pitfalls that are all too common when working in a team. Soon, by learning the best practices of working with Maven, you will have built an effective, secure Java application.</p>
Table of Contents (21 chapters)
Apache Maven 2 Effective Implementation
Credits
About the Authors
About the Reviewers
Preface
Free Chapter
1
Maven in a Nutshell
Index

Build reproducibility


Have you ever checked out a project from its last release and found the build no longer worked? Or, maybe a project that you had just built yesterday seems to have magically stopped building today.

If build portability is the ability to run a build anywhere with a minimum amount of configuration, reproducibility is the ability to run the build the same way every time, particularly at some point in the future.

This is particularly relevant for releasing, which we will examine in more detail in later chapters. Once that build is locked down, you want to make sure it is already equipped to be reproduced exactly at a point in the future.

The portability that we have just examined is a prerequisite to reproducibility, particularly if the source code is being distributed to third parties to build instead of consuming the official binary releases. To ensure reproducibility, the build must be isolated from change, so dependence on external resources and configuration is likely...