För ett år sedan letade jag för fullt efter ett program som skulle hjälpa mig att sätta upp en lokal Maven 2 proxy. En Maven 2 proxy bör köras på en dator inom intranätet för att säkra tillgången till nödvändiga jar-filer samt fungera som en plats att internt distribuera inköpta bibliotek och egenutvecklade projekt. Detta visade sig tyvärr vara alltifrån lätt. I slutändan gav jag upp försöket att migrera mitt projekt till Maven 2, till stor del för att det var så krångligt med det interna repositoryt. Men det var för ett år sedan.
Igår fick jag anledning att på nytt kolla läget på proxy-fronten, och till min glädje finns det nu ett flertal projekt igång som utvecklar proxy-programvaror just för Maven 2.
Den första jag kikade på var Maven Archiva som just nu finns tillgänglig i version 1.0 Beta 1. Tankade genast ner denna, packade upp och körde igång den bundlade jetty-containern. Man behöver alltså inte ens ha en installerad webcontainer för att köra sitt eget Maven 2 repository! Dock hade jag vissa problem med konfigurationen av användare och fick inte riktigt till så att den tillät anonym read-access. Archiva klarar säkert av detta, men just då ville det sig inte för mig.
Lite otålig så provade jag nästa programvara på tur, Artifactory (version 1.2.2). Lika enkelt att få igång, den har också sin egen bundlade jetty-container, bara att starta den med bat/sh-skriptet. Nästa steg var att peka om Artifactory mot min web-proxy för access till central-repositoryt samt konfigurera min lokala Maven 2-installation att använda Artifactory’s repository istället för central-repositoryt. Nästa steg? Finns inget nästa steg, för det fungerar!
Varje gång Maven 2 frågar Artifactory efter en jar-fil så kollar den i sin lokala cache, finns den inte där så laddas den automatiskt ner från repo1.maven.org och lagras i cachen. Har man proprietära jar-filer så kan man ladda upp dem till Artifactory i det medföljande webbgränssnittet så finns de direkt tillgängliga för alla med access till Artifactory (lämpligtvis resten av utvecklarna i ditt projekt). I webbgränssnittet kan man söka och bläddra efter allt som finns lagrat i cachen samt administrera användare.
Det finns bra dokumentation på Artifactory’s hemsida, men följande guide (SettingUpMavenRepository) kan också vara till hjälp.
Jag menar inte här att Artifactory är den bästa Maven 2-proxyn som finns då jag bara hunnit testa två stycken än så länge. Dock fungerar den tillräckligt bra för mig och det räcker just nu.
Proximity är en annan Maven proxy, men den är ännu inte helt färdig utan bara släppt i en Release Candidate 8.
Marcus