有没有办法在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从:
为了解决这个问题,我做了:
———–剪下这里的脚本————–
/* * 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目录。
你是否使用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,但它不能解决这个问题。