Strumenti di compilazione Java: Ant vs. Maven [chiuso]
Stavo leggendo questoblog di Kent R. Spillner per quanto riguarda gli strumenti di compilazione java. Anche se ho usato leggermente Ant e Maven, non mi sono impegnato a nessuno dei due seriamente che intendo fare. Il post sul blog che ho collegato è esagerato? Soprattutto, dovrei usare Maven o Ant per un progetto di medie dimensioni ( circa 20K LOC).
1 answers
Dipende davvero. Maven e Ant sono solo approcci diversi: imperativo e dichiarativo (vedi Imperativo vs sistemi di compilazione dichiarativi )
Maven è meglio per gestire le dipendenze (ma Ant va bene anche con loro, se usi Ant+Ivy) e costruisci artefatti. Il principale vantaggio di maven - il suo ciclo di vita. Puoi semplicemente aggiungere azioni specifiche sulla fase corretta, il che sembra abbastanza logico: basta avviare i test di integrazione sulla fase di test di integrazione, ad esempio. Inoltre, lì sono molti plugin esistenti, che può potrebbe quasi tutto. Maven archetype è potente caratteristica, che consente di creare rapidamente il progetto.
Ant è meglio per il controllo del processo di compilazione. Prima della tua prima build devi scrivere che costruisci.XML. Se il tuo processo di compilazione è molto specifico, devi creare script complicati. Per i progetti a lungo termine il supporto di ant-scripts potrebbe diventare davvero doloroso: gli script diventano troppo complicati, le persone, chi li ha scritti, potrebbero lascia il progetto, ecc.
Entrambi usano xml, che potrebbe diventare troppo grande in grandi progetti a lungo termine.
Ad ogni modo, dovresti leggere documentazione specifica (non articoli di odio) su entrambi. Inoltre, c'è ant-maven-plugin, che consente di avviare ant-scripts con maven.
PS Puoi dare un'occhiata a Gradle , che per me potrebbe fornire più libertà di Maven, ma è più facile da usare di Ant.