2012-04-02 13 views
4

Ich habe ein Projekt eingerichtet mit zwei Quellordner. Folder1 ist ein automatisch generierter Satz von Java-Quelldateien, den ich nicht anfassen möchte, Folder2 ist ein Ordner mit leichten Bearbeitungen einiger dieser Dateien.Eclipse - überschreiben automatisch generierte Quelle aus anderen Quellordner

Ich möchte, dass der Compiler die Dateien von Folder1 ignoriert, wenn es eine bearbeitete Datei in Folder2 gibt.

Ich habe versucht zu finden, wie der "Typ X ist bereits definiert" Fehler in Eclipse deaktivieren, aber ich kann es nicht finden unter Fehler/Warnungen in den Einstellungen. Ich nehme an, diesen Fehler auszuschalten und die Reihenfolge korrekt zu setzen, wird den Compiler die richtige Datei der beiden verwenden.

Was ich nicht will, natürlich, alle Duplikate in Folder1 aus dem Build-Pfad von Hand auszuschließen. Ich möchte nicht unbedingt, dass du mein Set-up reparierst. Wenn es einen besseren Weg gibt, es komplett einzurichten, kannst du es vorschlagen. Denken Sie daran, dass alle Quellen aufgrund einer Pfadkomplexität, die ich nicht lösen kann, in den gleichen Ordner fallen müssen. Ich würde auch gerne Build-Skripte vermeiden, wenn irgend möglich.

+0

Sie können eine bestimmte Datei auswählen und sie vom Build ausschließen. –

+0

Ja, das meine ich mit "Ich möchte nicht jede Datei von Hand ausschließen" –

+0

Ah. Das habe ich vermisst. Meine schlechte –

Antwort

1

Sie können zwei Projekte erstellen: prj1 hat nur Folder1 und prj2 hat nur Folder2. prj1 wird als erforderliches Projekt auf prj2 aufgeführt. Auf diese Weise überschreiben Quellen in Folder2 die in Folder1.

1

Wenn diese Art von Problem auftritt, verwende ich SVN, ich vorsichtig erstellen Sie einen neuen Zweig, und daran arbeiten.

Danach ist es an Ihnen, komplizierte Pfade hier zu migrieren.

Wenn Dave Newton sagte, Sie können es als ein defektes Projekt betrachten, das kann Ihnen helfen, es zu speichern.

+0

Das Hauptproblem hier ist, dass das "Folder1" Zeug für jede Version der App automatisch generiert und neu generiert wird. Ich kann sehen, wie ein SVN-Setup funktionieren würde und es sogar berücksichtigen, aber mit den generierten Quellen, die jedes Release ändern, würde das im Grunde bedeuten, dass alle beteiligten Dateien für jedes Release festgeschrieben werden müssten, was es zu einem fehlerhaften Versionskontrollsystem macht. Das ist nur ein kleiner Schritt von einem gebrochenen Projekt.Gute Antwort obwohl –

+0

Keine Sicherheit, um genau in dem betroffenen Projekt zu sein, aber nach jedem neu generierten Ordner1, können Sie es in Ihrer Branche * zusammenführen. HTH –

1

Für Ihre Anforderung von:

...ignore files from Folder1 if there is an edited file in Folder2... 

Sie benötigen ein Overlay/union Dateisystem, in dem es

a RO mount that contains your original file set 
a RW mount that initially contains nothing 
an overlay/union mount for use by an application 

ist Wenn eine Anwendung eine Datei aktualisiert, speichert das Dateisystem die Datei auf die RW-Standort Das Dateisystem blendet immer dann eine Datei am RO-Speicherort aus, wenn am RW-Speicherort eine Datei mit demselben Namen vorhanden ist.

Das Konzept wird zunächst seltsam klingen.

Fragen Sie google, um Ihnen zu zeigen, was ein Overlay-Dateisystem ist und was ein Union-Dateisystem ist, um mehr zu erfahren.

+0

Sicher, genau das versuche ich hier in Eclipse. Ihre Idee ist interessant, funktioniert aber nicht wirklich mit einem Code-Projekt, da es nicht mit der Versionskontrolle verwendet werden kann. Die von dir beschriebene Funktionalität versuche ich in Eclipse zu erreichen. –

Verwandte Themen