These last days I spent some time on finding a solution to help the developers at my office in getting their build process faster. All the developers (still) use Maven 2.0.4 as their build-tool and Maven-Proxy as their internal office repository. But what is the concrete problem now? So far everything sounds pretty easy to understand and you might ask yourself why there are any problems at all. If you already have some experience on how to use Maven in combination with an internal Maven-poxy for your build process, then you of course know how Maven’s build lifecycle works. If not please check out the description on the Maven’s main homepage.
But what is the problem? Every time a developer invokes some Maven commands, Maven checks if there are any new versions of the used artifacts. First Maven checks the local then the internal proxy and then all of the configured external repositories. But how can you configure Maven to only check the local and internal Maven-proxy and to skip all the external check? I decided to configure a local configuration of the same environment we use at work with a little different: I use Maven 2.0.6 and the Archivia proxy.
I configured my old local ./m2 repository which I used with Maven 2.0.4 at work as my internal (but don’t muddle up the local repository with the internal one) repository and created a new local repository on my C drive which I called "M2_Local". So if you are a bit confused now have a look at the following drawing.
By the way you can configure all these changes in the settings.xml of your Maven installation.