Använder ert projekt Apache Ant? Då är det rätt troligt att följande stämmer in:

  • Ant-scripten är långa, komplexa, svåröverskådliga och svårförvaltade.
  • Det finns mycket copy/paste kod i Ant-scripten.
  • Ni checkar in era externa jar-filer i ert SCM (vilket medför att det tar lång tid att synka ut kodbasen och det är svårt att hålla reda på vilka versioner av vilken jar-fil som används eftersom namnstandarden på externa jar-filer varierar kraftigt).
  • Ant-scripten kopierar väldigt mycket jar-filer under assembly och deploy.

Som en lösning på detta finns Maven som tar bort det mesta av den komplexitet som typiskt finns i ett Ant-script genom att kapsla in de vanligaste funktionerna som krävs vid bygge och assembly/deploy. Det som Maven dock är allra bäst på är Dependency Management d.v.s. att hantera beroenden mellan olika projekt och moduler (interna och externa).

Det kan dock vara svårt att övergå från Ant till Maven om de Ant-script som finns i en organisation innehåller mycket logik eller om förutsättningarna för en sådan förändring inte är de rätta. Då kan ett steg i rätt riktning vara att använda Mavens Ant-tasks som ”magiskt” kan hantera Dependency Management à la Maven fast i ett Ant-script. Ta en titt på http://maven.apache.org/ant-tasks.html för mer information.