Sollte ich verpflichte mich, Dateien die geändert werden müssen, die von eclipse
Ich erbte ein java-Projekt in form eines eclipse-Projekts. Nach dem ändern der tomcat-Konfiguration (von v6 auf v7), subclipse aufgefordert, mich zu verpflichten, die folgenden Dateien
- .classpath
- org.eclipse.core.prefs
- org.eclipse.common.Projekt.Facette.core.refs
- org.eclipse.common.project.facet.core.xml
Wird die Begehung, die Ihnen Hilfe meiner team-Mitglieder oder wird es Chaos mit Ihrem Arbeitsbereich?
Was ist die best-practice-Ansatz das?!
- Siehe stackoverflow.com/questions/116121/... oder stackoverflow.com/questions/2024307/... , oder (allgemeiner) stackoverflow.com/questions/1880817/...
- Wow. Ich habe versucht ein wenig suchen. Ich denke, dass meine Frage können die "Pause" in zwei oder drei, und bekommen für jedes von Ihnen richtige Antworten. Ich glaube, die beste Antwort wäre dein Kommentar 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Generell sollten Sie beim check-in (und Begehen nach änderungen), alles das trägt dazu bei, das bauen UND ist nicht neu erzeugbaren durch re-Gebäude komplett UND workstation-spezifische. (Die Auswirkungen dieser Anweisung hängt von Ihren build-Prozess/- Verfahren, das vorgesehen ist.)
Dies bedeutet, Sie soll ausschließen, dass alles, was neu generiert, mit der vollen bauen etc. so ist es nicht eingecheckt werden (und nicht für check-in).
Als Allgemeine Regel gilt, sollten Sie es vermeiden, zu Begehen-Dateien mit den Vorlieben des Nutzers, und details zum Projekt, dass Eclipse und/oder Ihren plugins regenerieren kann.
Aber in einigen Fällen die Dinge sind ein wenig trüb. Zum Beispiel, die .classpath-Datei kann die primäre Quelle des Eclipse build path; z.B. wenn Sie JAR-Dateien in Ihrem Projekt Baum eher als die Verwendung von Maven. (Mit Maven, das m2eclipse-plugin erzeugt .classpath-Datei aus der Abhängigkeit von Informationen, die in der POM-Datei, und daher sollte die Datei nicht eingecheckt werden.)
Auch einige der Facette Zeug ist grenzwertig. Zum Beispiel in Projekten, die mit JSPs und Javascripts, die ich gefunden habe, ist es wesentlich, ändern Sie die facet-Eigenschaften zu deaktivieren gebrochen Prüfungen. Und es gibt gute Argumente für eine Behandlung der solche Veränderungen als Teil des Projektes nicht als persönliche Präferenzen.
Trennung der Gruppen - /Projekt-Präferenzen, von persönlichen Vorlieben ist ein Bereich, wo (IMO) Eclipse ist stark mangelhaft.
Ist es besser, nicht zu verpflichten, diese Dateien als Pfade/Einstellungen abweichen können, die auf verschiedenen Arbeitsstationen.
Können Sie verwenden möchte, einige build-tool, um diese zu überwinden. (zB. Maven)
Als wenn einer der team-Mitglieder sind nicht mit eclipse (mit einer anderen ide) , diese Dateien haben keine Bedeutung für Sie.
Wenn jeder begeht verschiedenen IDE-Einstellungen, stellen Sie sich vor, welche Art von Chaos es anrichten kann.
EDIT:
Mehr Erklärung;
Habe ich in teams gearbeitet, dass die Menschen verwendet, NetBeans, Eclipse, IDEA...für eine wirklich lange Zeit, und es ist nicht wirklich eine option für Sie, um ändern Sie die IDE. Es wird nur Einfluss auf die Produktivität der betreffenden person.
Wenn die Leute bekommen verwendet, um Ihre IDEs lernen Sie shorcuts, Sie wissen, wo Sie suchen für einige Funktionen (umgestalten/getter setter/implementieren, überschreiben die benötigten Methoden....) also, wenn Sie Sie zu zwingen, sich mit einem anderen IDE wird es nur machen Dinge für Sie schwieriger und langsamer für den gesamten Prozess. IMHO und aus meiner Erfahrung mit einer flexiblen codebase ist immer gut. Ich bin ein eclipse Kerl und würde wahrscheinlich nicht wollen, um mit jeder anderen IDE, wie ich weiß, viele von shorcuts, die macht die Sache echt schneller/einfacher für mich und die shorcuts sind verschiedene auf verschiedenen IDEs.
Alle IDE-Dateien können regeneriert werden automatisch von der IDE selbst wohl in nur ein paar Klicks.
Und mein Aktuelles Projekt hat 3 Entwickler, die jeweils mit verschiedenen IDEs eclipse(me), NetBeans, IDEA ohne Probleme. Ich dont wollen sehen, IDEA oder NetBeans-config-Dateien die keinen Sinn macht für eclipse, wenn ich check-out die Quelle repo. Auch für Sie als gut.
Ja, aber stellen Sie sicher, dass die Pfade relativ sind, in den Arbeitsbereich statt absoluten Pfaden. Nachdem diese Dateien in den Arbeitsbereich können Mitglieder Ihres Teams in der gleichen Umgebung, wie Sie sind. Es macht auch die Einrichtung einer neuen Entwicklungsumgebung viel einfacher: Sie prüfen Sie es einfach aus der Quelle zu kontrollieren und in Eclipse-verwenden Sie "Import... > existing Projects into Workspace'
Als @adamdunne erwähnt, sind diese Dateien enthalten kann, die Umwelt bestimmte Pfade. Allerdings, wenn Sie sind vorsichtig, um sicherzustellen, dass die Pfade relativ sind innerhalb Ihres Arbeitsbereichs mithilfe von Variablen und nicht durch Import von externen jars, d.h., durch die sich nur inklusive Gläser von Projekten im workspace, dann sollten Sie in Ordnung sein. In meinem Arbeitsbereich, wir überprüfen in diesen Dateien, und hatte viel weniger Probleme einrichten dev. Umgebungen, da.
Ich arbeite in einem Projekt, in welchem wir Begehen die .classpath-Datei, da ist es sehr nützlich, dass alle Entwickler verwenden die gleichen 🙂 Wenn du nur die Abhängigkeiten innerhalb Ihres Arbeitsbereichs, diese Datei verwendet relative Pfade, und sollten daher auf allen PCs gleich. Auch wenn diese Datei vielleicht nicht nötig, build (mit ant zB) es ist sehr bequem zu synchronisieren.
Im Gegensatz dazu die org.eclipse.core.prefs speichert (afaik) Projekt-spezifisch, aber persönlichen Vorlieben der Entwickler, die würde ich nicht Einchecken.
Mit den Facetten, die ich nicht noch arbeiten in einem realen Projekt, so kann ich nicht sagen. Aber im Allgemeinen, ich denke, es hängt von den Informationen in der Datei und auf die Weise, die Sie arbeiten.
Wenn Sie unsicher sind, probieren Sie es einfach. Wenn Sie Konflikte in diesen Dateien den ganzen Tag auf diesen Hinweis können Sie nicht auf die perfekte Art und Weise.
Diese Dateien sehr nützlich sein kann, zu teilen-Konfigurationen zwischen den Entwicklern. Die alternative ist entweder die Verwendung von Maven (das ist eine riesige Aufgabe für ein etabliertes Projekt) oder haben ständig überholte Schritt-für-Schritt-Anweisungen und neue Entwickler, die einen halben Tag, bis Sie können sogar erstellen Sie das Projekt.
Allerdings sollten Sie darauf achten, dass diese Konfigurationen sind portabel, d.h. Sie enthalten keine lokalen Pfade. Diese kann getan werden, über die Verwendung von relativen Pfaden innerhalb des workspace, eclipse-Pfad-Variablen und user-Bibliotheken.
Was wir getan haben ist, ignorieren Sie diese Dateien, da Sie versauen den Arbeitsbereich der anderen auf das Projekt.
Ignorieren, macht auch Ihr Projekt-Reiniger, die ich immer wieder gerne.
Diese Dateien enthalten kann, die Umwelt bestimmte Pfade, so würde ich vorschlagen, die überprüfung nicht Sie in. Auf meinem aktuellen Projekt benutzen wir ant-Skripts zum erstellen des Projekts und die Initiale checkout alle unseren code ein.