Moin,
Der Endzweck von Tools wie Ant, Maven, make, cmake usw. ist, wie du schon richtig erkannt hast, das erstellen des Programms. Bei Java sind es JARs, WARs oder EARs, bei anderen Sprachen wie C und C++ als lauffähige Programme oder Libraries.
Jeder komplexer der Build-Vorgang eines Projektes wird, desto mehr schätzt man solche Tools. Maven zum Beispiel kann neben dem eigentlichen Kompilieren noch einiges mehr, zum Beispiel:
- Erstellen des Programms und der JavaDoc in einem Schritt
- Tests durchführen (JUnit), wenn ein Test fehlschlägt bricht der Build-Prozess ab
- Integration von Tools wie z.B.
PMD oder
FindBugs
- Und das Feature das ich bei Maven sehr schätze: Dependency Management (Ant kann das zusammen mit Ivy auch). Will heißen: Du gibt die externen Bibliotheken an, die du in deinem Projekt verwendest, und Maven lädt diese runter und löst auch die Abhängigkeiten dieser Bibliotheken auf.
Beste Grüße
Stareagle