2013-07-22 25 views
10

Eclipse中是否有任何设置仅显示文件所在的Maven项目?Eclipse Maven为同一个文件显示多个路径

我有是一位家长Maven项目的模块不同的Maven项目:

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

如果我期待在Eclipse中使用“开放资源”(使用Ctrl + Shift + r)的文件,它出现在许多项目(如:在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,其中只包含要在其中搜索的模块,然后在搜索中使用该工作集。

编辑

其实我尝试过了,它完全正义的作品在Eclipse 4.3(开普勒)默认,只返回嵌套项目的一个结果。

无论如何,下面是如何在开放资源中使用工作集(该示例不是嵌套模块中的资源,因为在这种情况下,开普勒不会显示重复的结果;所以这个例子只是两个不同的资源,在两个不同的模块中同名):

(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你只需要在“打开资源”将工作集一次打开并在每次使用它进行搜索时都会使用它,这不是“开放式搜索”。 – yair

+0

@ user593029我希望快照是正确的,我自己看不到它们(imgur在这里被阻止...)。 – yair

13

您可能正在谈论的是一种父项目及其子模块之间的重复。在Eclipse的最新版本(从3.6也许并确保从3.7)有一个新的选项

菜单窗口>

Item Preferences > 

    Tree item Maven > 

     Option : Hide folders of physically nested modules 

这不会对现有的项目工作。您必须删除它们(逻辑上)并重新导入它们

+0

它不工作通过检查上述选项..例如,如果webservice.java在projservice中检查maven项目&projparent是projservice的父Maven项目。我在开源资源上看到的是/projservice/webservice.java&/projparent/projservice/webservice.java ...不知道如何摆脱redudant /projparent/projservice/webservice.java进入开放资源..我没有想要使用搜索打开,因为它是耗时的,它没有任何意义使用它来打开文件..我宁愿直观地区分文件的路径 – user593029

+1

在开普勒(4.3)中有类似的选项,但它不适用于我。您可以通过首选项访问它: 在Maven标签中,您可以勾选“隐藏物理嵌套模块的文件夹(实验)” –

+2

正如我所说的,您必须删除并重新导入它们来激活此功能,但它可以仍然没有工作......嗯...... IntelliJ Idea对此更好! –

相关问题