2013-07-22 5 views
10

Есть ли какой-либо параметр в Eclipse для отображения только проекта Maven, в котором находится файл?Eclipse Maven показывает несколько путей для одного и того же файла

У меня есть различные проекты Maven, которые являются модулями проекта родительского Maven:

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

Если я смотрю на файл с помощью «Открыть ресурс» (с использованием Ctrl + Shift + r) в Eclipse, он появляется во многих проектах (например, : в projParent и в projWeb).

Есть ли способ показать только соответствующую папку, в которой находится этот файл?

+0

Это дубликат http://stackoverflow.com/questions/15064796/eclipse-file-search-finds-the-same-file-multiple-times, но другой вопрос намного лучше [ответ] (http://stackoverflow.com/a/15067818/722760) (установить папки в родительских проектах как «производные»). –

ответ

19

Попробуйте определить Working Set, который включает в себя только те модули, в которые вы хотите выполнить поиск, а затем использовать этот рабочий набор в поиске.

EDIT

На самом деле я попробовал это, и это просто отлично работает по умолчанию в затмении 4.3 (Kepler), только один результат возвращается для вложенных проектов.

В любом случае, вот как использовать рабочий набор в открытом ресурсе (пример не относится к ресурсу во вложенном модуле, так как в этом случае Kepler не показывает повторяющихся результатов, поэтому пример представляет собой только два разных ресурса, одно и то же имя в двух разных модулях):

(1) Нажмите ctrl + shift + R ключей. Я искал ресурс под названием pom.xml. Вы можете увидеть два результата:

open resource no working set

(2) Нажмите немного вниз-стрелку в правом верхнем углу окна и выберите Select Working Set...:

open resource select working set

(3) Проверьте радиоприемник Selected Working Sets и проверьте желаемые проекты (в вашем случае листовые проекты):

enter image description here

(4) И вуаля, Open Resource возвращает только один результат:

open resource after working set is selected

+0

Я не хочу использовать поиск открытым, поскольку он занимает много времени, и он не имеет смысла использовать его для открытия файла. Я бы предпочел визуально различать путь файла – user593029

+0

@ user593029, вам нужно только выбрать в 'Open Resource' закройте рабочий набор один раз, и он будет использоваться каждый раз, когда вы используете его для поиска, это не «открытый поиск». – yair

+0

@ user593029 Я надеюсь, что снимки правильные, я не вижу их в стеке (imgur заблокирован здесь ...). – yair

13

Вы, вероятно, говорить о своего рода дублирования родительского проекта и его суб-модулей. В последней версии Eclipse (с 3,6, может быть, и уверен, что из 3.7) есть новая опция

меню Windows>

Item Preferences > 

    Tree item Maven > 

     Option : Hide folders of physically nested modules 

Это не будет работать на существующем проекте. Вы должны удалить их (логически) и повторно импортировать их

+0

Он не работает, проверяя выше вариант .. например, если webservice.java проверяется в projservice maven project & projparent является родительским проектом maven projservice. Что я вижу при открытии ресурсов, это /projservice/webservice.java & /projparent/projservice/webservice.java ... не уверен, как избавиться от redudant /projparent/projservice/webservice.java входа в открытые ресурсы .. Я не хотите использовать поиск открытым, поскольку он занимает много времени, и он не имеет смысла использовать его для открытия файла .. я бы скорее визуально различал путь файла – user593029

+1

Аналогичный вариант доступен в Kepler (4.3), но он не работает для меня. Вы можете получить к нему доступ через настройки: На вкладке Maven вы можете отметить «Скрыть папки физически вложенных модулей (экспериментальные)» –

+2

Как я уже сказал, вы ДОЛЖНЫ удалить и повторно импортировать их, активируя эту функцию, но это может все еще не работает ... ах ... IntelliJ Idea для этого лучше! –