New Maven Repository
I have now almost completely switched over to Maven 2.0 for all my Java projects. It is a great tool. And although the learning curve is a bit steep, you should really be more productive in the end because of all the good things that you basically get for free once you are up and running.
There are plenty of good articles about Maven online, for example this one at O’Reilly. There is also a book now, which is a must read for everybody interested or already working with Maven 2.0.
Maven gets most things it needs fromt he network. Not only dependencies that your project requires but also Maven plugins for example. By default Maven gets all these files from the main Maven repository. Unfortunately that repository is terribly slow. That is probably due to a combination of too many Maven users (which is a good thing!) and a latency/speed problem between The Netherlands (I’m in Amsterdam) and California where repo1.maven.org is located.
So to improve this situation I have setup a mirror of the main Maven 2.0 repository. It took almost a full day to make this mirror (7GB download) but from now on I only have to do incremental updates using rsync.
You can browse the mirror at: http://maven.sateh.com. Some time later I will add some basic statistics to the home page to see how many people use this repository and what the popular downloads are.
The server is located in Amsterdam, The Netherlands, and is very well connected to the internet through XS4ALL. This should improve download speed for people on this contintent.
As a little test I followed the standard Maven 2.0 intro and created a new application using:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
The speed difference is very noticable. Using this new mirror it took ~/.m2/repository.
Using this new mirror is pretty simple, just add the following to your ~/.m2/settings.xml file:
<settings>
<mirrors>
<mirror>
<id>sateh.com</id>
<name>Mirror of http://repo1.maven.org/maven2/</name>
<url>http://maven.sateh.com/repository</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
That should take care of things.
The mirror is sychronized twice a day at 6 in the morning and 6 in the evening. Let me know if you have questions or problems.
Modified
