Bonjour,
Pour répondre rapidement, déjà, tu peux très bien utiliser Maven ou Ant avec Eclipse. Tu peux te servir d'Eclipse pour compiler ton projet ce n'est pas un problème, cependant cela va vite soulever des problèmes quand tu travailles en équipe :
- Comment faire pour gérer les différentes dépendances ? Que faire quand on en ajoute une ? Quand on fait une montée de version d'une dépendance ? On copie le jar et on le met dans le dossier lib ? Mouais… Ou alors on les met dans le gestionnaire de versions… Mais si j'ai 3 Go de dépendances ? Et que faire quand on a 50 dépendances ? Comment être sûr qu'on n'a rien oublié ?
En l'occurence tu gères toutes tes dépendances avec Maven, tu leur associes un numéro de version dans une variable comme ça ta montée de version est instantanée pour tous tes projets et tous les développeurs.
- Quelle version du compilateur utiliser ? Il faut que tous les membres du projet aient la même et que ce soit configuré sur leur IDE…
Pareil, c'est à Maven que tu vas spécifier la version du compilateur.
- Imaginons que l'on travaille sur plusieurs projets en même temps (pour te donner un exemple, je travaille actuellement sur un projet bancaire qui comporte plus de 150 projets sous Eclipse). Comment faire pour faire une montée de version d'un des projets ? On change le jar dans les 149 projets ? Et surtout il ne faut pas en oublier un seul
Une variable à changer et c'est fini. Un Ctrl+H sur tous les pom.xml (= 20 secondes chronos) pour remplacer toutes les dépendances.
- Comment t'assurer que tous les développeurs font des commit qui compilent ? Que leurs tests unitaires fonctionnent tous ?
Tu utilises un serveur d'intégration continue qui va builder ton projet à chaque push et exécuter les tests. Il va exécuter des tâches que tu vas décrire avec Maven.
Ici je ne fais que te donner quelques questions auxquelles Maven répond assez facilement une fois qu'on l'a configuré. Mais quand on maîtrise bien ces outils c'est vraiment très puissant.
EDIT : et ce ne sont pas des outils de gestion de projets, mais plutôt des outils de gestion du "code" de manière générale (dépendances, tests, documentation, etc.)