有没有办法在Eclipse 3中隐藏Maven 2“target /”文件夹?

我使用Eclipse 3.3.2的Maven 2.0.9。

我习惯每天通过mvn clean install启动一次新build。 然后,如果我刷新我的Eclipse项目,它将被来自Maven的目标目录的文件“污染”。

在执行search时,这非常烦人,通过“开放资源”获取资源等等。

有没有办法避免Eclipse看这个文件夹?

右键单击要忽略的文件夹,打开“属性”对话框,select“资源”选项卡,并选中“派生”

在Maven中重新configuration“clean”不要删除目标目录:

 <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <excludeDefaultDirectories>true</excludeDefaultDirectories> <filesets> <!-- delete directories that will be generated when you start the develpment server/client in eclipse --> <fileset> <directory>target</directory> <includes> <include>**/*</include> </includes> </fileset> </filesets> </configuration> </plugin> 

(发现在: http : //maven.40175.n5.nabble.com/how-to-NOT-delete-target-dir-td3389739.html#a3413930 )

解决scheme靛蓝[SR2]

Project Explorer > Customize View > Filters > [*] Maven Build Folder

我一直很担心这个问题,我写了一个插件来解决这个问题。 你得到的源和jar从:

https://github.com/YA2O/Eclipse_Plugin_Target_Derivator

为了解决这个问题,我做了:

  • 为Eclipse安装Groovy Monkey
  • 创build一个Bean Shell脚本“UpdateMavenDerived_Beanshell.gm”,将任何名为target的目录标记为派生。
  • ———–剪下这里的脚本————–

     /* * Menu: Find System Prints > Beanshell * Script-Path: /GroovyMonkeyScripts/monkey/UpdateMavenDerived_Beanshell.gm * Kudos: Bjorn Freeman-Benson & Ward Cunningham & James E. Ervin * License: EPL 1.0 * LANG: Beanshell * DOM: http://groovy-monkey.sourceforge.net/update/plugins/net.sf.groovyMonkey.dom */ out.println("Setting target directories to derived status."); var projects = workspace.getRoot().getProjects(); for ( var i = 0; i < projects.length; i++) { var project = projects[i]; if (project.isOpen()) { out.println("Project: " + project.getName()); var members = project.members(); for ( var j = 0; j < members.length; j++) { if (members[j].getName().equals("target")) { out.println("setting derived status on: "+ members[j].getFullPath()); members[j].setDerived(true); } } } } 

    您是否尝试configuration“Java元素filter”选项对话框(通过项目资源pipe理器的右上angular)?

    如果需要,您可以定义您自己的ViewerFilter

    首选项>团队>忽略的资源

    添加“目标”,并重新启动Eclipse。

    maven插件不会隐藏目标目录。 不过它使用maven目标文件夹来configurationeclipse。 所以eclipse使用target / classes和target / test-classes,而eclipse将这些文件夹过滤掉。 这是通过“mvn eclipse:eclipse”以及m2eclipse插件完成的。 除了这两个文件夹(例如,生成的jar文件)之外,剩下的东西就是目标目录中的所有东西。

    您可以为包资源pipe理器创build一个filter,但不会影响“打开资源”。

    我有一些问题,因为这里的一些解决scheme只适用于某些观点,所以我做了一个说明性的总结。

    在Eclipse 4.4(Luna)testing,应该从3.7以来这样工作,根据这里的其他答案。

    包资源pipe理器

    包资源pipe理器视图菜单Filters... →检查Name filter patterns和inputtarget

    要小心,这将隐藏名为target所有文件夹和文件,而不仅仅是默认的Maven构build目录! 没有这个问题, Project Explorer视图有更好的select。

    包资源管理器菜单包资源管理器对话框

    项目浏览器

    项目资源pipe理器视图菜单→ Custom View... →search“maven”,并检查Maven build folder

    选中此选项将隐藏项目pom.xmlconfiguration中定义的构build目录。

    项目浏览器菜单Project Explorer对话框

    你是否使用Eclipse的Maven插件?

    我想可能会为你隐藏一些“污染”。

    它也允许你在Eclipse中执行构build – 意味着它将同时刷新项目视图。

    Maven 2 Eclipse

    如果经常使用“mvn clean install”,使用资源filter可以解决问题。

    基本上它会添加“目标”和子文件夹直接排除文件夹到.project文件。 运行这个脚本之后,如果你把项目导入到eclipse中,你可以看到'Project' – >'Properties' – >'Resource' – >'Resource Filters'的设置。 在此之前,每当我运行mvn clean install时,eclipse占用了我CPU的50%,但是现在它在构build项目时保持在5%以下。


     function eclipse-setup() { mvn eclipse:clean mvn eclipse:eclipse #maven target folders find . -name .project -exec sed -i.MSORG 's/<\/projectDescription>/<filteredResources> <filter> <id>1314376338264<\/id> <name><\/name> <type>26 <\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-false-target<\/arguments> <\/matcher> <\/filter> <filt er> <id>1314387234341<\/id> <name><\/name> <type>6<\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-fals e-*.cache.html<\/arguments> <\/matcher> <\/filter> <\/filteredResources><\/projectDescription>/' {} \; } 

    当Eclipse冻结,看着进程的活动,我可以看到它浏览我所有的目标,.hg和.git目录。 而且,这些目录也被复制到Eclipse的bin目录中。 大量的CPU和磁盘使用不了了之。

    不清除目标目录不是一个可接受的解决scheme。

    有一个使用Monkey脚本的解决scheme(http://maven.40175.n5.nabble.com/Eclipse-amp-target-directory-td72354.html),但项目已closures。;

    我仍然在寻找一个解决scheme来告诉Eclipse忽略Maven目标目录以及.hg和.git目录。

    日蚀不断看这些是一种痛苦。

    我也使用m2eclipse,但它不能解决这个问题。