Repository is one of the fondamental maven concept. It's simple to understand but fair usage request a bit of practise.
You should have a clearer idea of repository management best practises through the following examples and counterexamples.
Initial configuration
This configuration come with maven without doing anything.

The "simple project" pom.
Extended usage
Without repository manager

Take a look on the "extended project" pom.
With repository manager

The "extended project" pom don't change, we just add mirrors section in the settings.xml (M2_HOME/conf/settings.xml or ~/.m2/settings.xml).
Take a look on the Mirrors definitions in settings.xml.
Complex usage
Counterexamples
Single repo mirroring multiple repositories
THIS IS A COUNTEREXAMPLE
Mirror repository defined in place of original repository.
THIS IS A COUNTEREXAMPLE
Annexes
pom.xml
Simple project
Extended project
Note that some repository declarations are useless:
- Jetty is now available on central repository so you can remove
- Project only need snapshot version of cargo plugin so you can remove
- The project don't have any dependencies on snapshot version of codehaus artefacts so you can remove
Advanced project
Settings.xml including repository mirrors definitions
