D'après mon expérience, à l'exclusion des cas limités où des paramètres purement locaux sont impliqués, tout devrait être sous contrôle de code source. La loi du contrôle à la source est que tout ce qui est poussé devrait fonctionner par ceux qui se retirent. Malheureusement, l'éclipse provoque souvent des choses comme celle-ci .classpath
:
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7"/>
Donc, sur mon Mac, cela fonctionne, et peut-être que quelqu'un sur un Mac a le même JRE, mais cela ne fonctionnera pour personne d'autre.
De plus, il n'y a pas de moyen facile de contourner cela. Eclipse ajoutera toujours cela. Je VEUX avoir le fichier .classpath là-dedans, car il y a des JAR tiers dans notre dossier lib où nous nous soucions du contrôle de version, donc nous les laissons là-dedans pour que les nouveaux développeurs n'aient pas à les obtenir . Nous passons à un système géré, mais les dépendances managées + non gérées sont toujours enregistrées. Cela signifie que tous les développeurs doivent simplement s'assurer que deux répertoires sont dans leurs .classpath
s. Mais c'est mieux que d'avoir à réparer votre JRE chaque fois que vous tirez et que vous modifiez votre .classpath à chaque fois que vous vous engagez.
Eclipse fait cependant d'autres belles choses pour vous. Le fichier .project sera généralement le même dans toutes les instances, alors incluez-le. Mais la meilleure chose à propos du contrôle de source pour eclipse est les paramètres d'exécution des configurations. Sous l'onglet "Commun" de la boîte de dialogue Exécuter les configurations, enregistrez les configurations afin qu'elles apparaissent pour vos collègues sous les listes de favoris pour le débogage et l'exécution. Pour moi, un tas de .launch
fichiers vont dans le .settings
répertoire, donc nous pouvons tous les utiliser.
Donc je dis: le .settings
répertoire entre dans le contrôle de code source pour les configurations de lancement (sauf * .prefs)
.classpath
reste dehors
.project
va dans.