2013-07-22 7 views
10

Gibt es in Eclipse eine Einstellung, um nur das Maven-Projekt anzuzeigen, in dem sich die Datei befindet?Eclipse Maven mit mehreren Pfaden für die gleiche Datei

Ich habe verschiedene Maven Projekte, die Module eines Elternteils Maven Projekts sind:

projParent 
    |-projWeb 
    |-projModel 
    |-projServices 
    |-... 

Wenn ich nach einer Datei „Open Resource“ (mit Ctrl + Shift + r) in Eclipse verwenden, ist es in vielen Projekten erscheint (zB : in projParent und in projWeb).

Gibt es eine Möglichkeit, nur relevante Ordner anzuzeigen, in denen sich diese Datei tatsächlich befindet?

+0

Dies ist ein Duplikat von http://stackoverflow.com/questions/15064796/eclipse-file-search-finds-the-same-file-multiple-times, aber die andere Frage hat eine viel bessere [Antwort] (http://stackoverflow.com/a/15067818/722760) (Ordner in übergeordneten Projekten als "abgeleitet" festlegen). –

Antwort

19

Versuchen Sie, eine Working Set zu definieren, die nur die Module enthält, in denen Sie suchen möchten, und verwenden Sie dieses Working Set dann in der Suche.

EDIT

Eigentlich habe ich versucht, es und es nur funktioniert perfekt standardmäßig in Eclipse 4.3 (Kepler), nur ein Ergebnis wird für verschachtelte Projekte zurückgegeben.

Wie auch immer, verwenden Sie Arbeit in offenen Ressourcen (das Beispiel ist nicht von einer Ressource in einem verschachtelten Modul wie in diesem Fall Kepler zeigen keine doppelten Ergebnisse; so das Beispiel ist nur von zwei verschiedenen Ressourcen baring die gleicher Name in zwei verschiedenen Modulen):

(1) Drücken Sie die Tasten Strg + Shift + R. Ich suchte nach einer Ressource namens pom.xml. Sie können zwei Ergebnisse sehen:

open resource no working set

(2) Drücken Sie die kleinen nach unten gerichteten Pfeil auf der oberen rechten Ecke des Fensters und wählen Select Working Set...:

open resource select working set

(3) Überprüfen Sie die Optionsfeld von Selected Working Sets und überprüfen Sie die gewünschten Projekte (in Ihrem Fall die Blatt Projekte):

enter image description here

(4) und voila, Open Resource gibt nur ein Ergebnis:

open resource after working set is selected

+0

Ich möchte nicht die Suche öffnen, da es zeitaufwendig ist und es macht keinen Sinn, es zu öffnen Datei .. Ich würde eher visuell den Pfad der Datei – user593029

+0

@ user593029 unterscheiden müssen Sie nur in der 'Open Resource' wählen Bearbeite das Working Set einmal und es wird jedes Mal benutzt, wenn du es für die Suche benutzt, es ist nicht "offene Suche". – yair

+0

@ user593029 Ich hoffe die Schnappschüsse sind richtig, ich kann sie nicht im Stack sehen (imgur ist hier blockiert ...). – yair

13

Sie wahrscheinlich über eine Art von Doppelarbeit zwischen Eltern Projekt und seine Submodule sprechen. In der neuesten Version von Eclipse (von 3,6 vielleicht und sicher ab 3.7) gibt es eine neue Option

Menü Fenster>

Item Preferences > 

    Tree item Maven > 

     Option : Hide folders of physically nested modules 

Dies würde nicht auf einem vorhandenen Projekt arbeiten. Sie müssen sie (logisch) löschen und sie erneut importieren.

+0

Es funktioniert nicht, indem Sie die obige Option prüfen. Zum Beispiel, wenn webservice.java in projservice maven project & projjarent überprüft wird, ist elter maven project von projservice. Was ich auf openning Ressourcen sehe, ist /projservice/webservice.java & /projparent/projservice/webservice.java ... nicht sicher, wie Redudant /projparent/projservice/webservice.java Eintritt in offene resources loszuwerden. Ich nicht möchte die Suche öffnen, da es zeitraubend ist und es keinen Sinn macht, es zu öffnen, um eine Datei zu öffnen. Ich würde den Pfad der Datei lieber visuell unterscheiden – user593029

+1

Eine ähnliche Option ist in Kepler (4.3) verfügbar, funktioniert aber nicht mich. Sie können es über die Einstellungen zugreifen: In der Registerkarte Maven können Sie "Ordner der physikalisch verschachtelten Module ausblenden (experimentell)" deaktivieren –

+2

Wie ich bereits sagte, müssen Sie löschen und erneut importieren Sie diese Funktion aktivieren, aber es könnte immer noch nicht funktionieren ... ah ... IntelliJ Idee ist dafür ziemlich besser! –