Eclipse中的Java工作集或资源工作集

时间:2012-12-11 16:21:43

标签: java eclipse

我从来没有特别找到“Eclipse中Java工作集和资源工作集之间有什么区别?”的答案。资源工作集更通用,它不仅可以包含Java应用程序/项目,还可以这样说。让我们假设一个Java开发人员的日常生活。你建议他/她在Java工作集上使用资源工作集吗?是否有任何特定的情况,你喜欢一个在另一个?

5 个答案:

答案 0 :(得分:10)

听起来这应该回答了这个问题:

  

工作集是Eclipse项目的一个子集。你可以创建   不同的工作集,然后选择要显示的工作集   导航器视图。

具体做法是:

1)“工作集”(在此特定上下文中)是“Eclipse事物”

2)Eclipse工作集的目的是帮助组织项目

3)一个项目由“东西”组成:源代码,位图图形文件,WSDL,CSS样式表 - 几乎可以想象的任何东西。

4)因此,Eclipse项目被组织(例如,浏览我的J2EE视角)到“src”,“WebContent”,“Services”等子部分。项目本身可以是许多不同类型之一:“Java项目”,“Java Swing设计项目”和“动态Web项目”等。

5)同样,Eclipse工作集可以是几种不同类型之一:“Java工作集”,“断点工作集......”和“资源工作集”。

6)与Eclipse“Views”和Perspectives“一样,您通常可以随时访问所需的任何项目资源。选择一个或另一个透视图只需创建对象(例如”问题窗格“或”构建列表“) )更容易到达。

7)您选择哪种“工作集” - 或者您是否使用工作集 - 主要是个人偏好和便利性。

如果您还有其他问题,请告诉我们。

PS: 其他链接:

  

https://www.ibm.com/developerworks/library/os-eclipse-visualstudio/

     

如前所述,许多开发人员将所有项目加载到一个项目中   Eclipse工作区。这很方便,但有时也可以创造   很混乱。除了关闭不必要的项目,你也可以   定义工作集:元素组(项目,文件夹,类,   等等。)。 Eclipse可以在不同的视图中使用工作集(例如   包资源管理器)和操作(如搜索)。

......和......

help.eclipse.org: Working Sets

答案 1 :(得分:8)

eclipse环境中的工作集是相关项目的逻辑分组,以便在IDE中轻松搜索和组织视图。

资源工作集可以捕获所有类型的资源 - 可能是java源代码,html,xml,javascript,images - 在工作集中包含的项目范围内存在的任何内容。

Java工作集是一个不同的工作集(它不是资源工作集的子集!),它只捕获那些属于源文件夹并被编译到类路径中的java文件,或者那些java文件属于构建路径中的模块(库)。因此,它允许您查找类路径中的java“类”。请注意,项目中的所有java文件可能不一定构建在类路径中(例如,当您排除java源文件时,它不再构建)。但是,类路径中未包含的java源文件仍然可以被资源工作集检测到(您会注意到包含的java源文件的图标是实体J,而对于排除的java源,它是空心的J)

实施例: 假设您有两个项目p1和p2,其中p1属于工作集,但p2不属于工作集。所以:

MyClass.java(属于p1并包含在构建路径中) - 以java类型搜索(Ctrl + T)和资源搜索(Ctrl + R)显示。

MyOtherClass.java(属于p2并包含在构建路径中) - 不显示在java类型搜索中,也不显示在资源搜索中。

MyExcludedClass.java(属于p1并从构建路径中排除) - 不显示在java类型搜索中,但显示在资源搜索中。

MyExcludedClass.class(属于p1构建路径中的依赖jar) - 在java类型搜索中显示,但不会显示在资源搜索中。

MyWebPage.html(属于p1) - 不在java工作集中显示,但在资源工作集中显示。

MyOtherWebPage.html(属于p2) - 不会出现在java类型搜索中或资源搜索中。

MyConfig.xml(属于p1) - 不显示在java类型搜索中,但显示在资源搜索中。

因此,在Java开发人员的使用环境中:我使用Java工作集来查找用Java定义的类型/类,而工作资源用于查找所有不同类型。

答案 2 :(得分:3)

工作集之间的一个区别是它们提供了不同的编辑向导(如下所述:http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcworkset.htm)。如果分别编辑资源工作集和java工作集,您将看到它们使用不同的屏幕来选择包含哪些资源/项目。

除此之外,我没有发现任何其他差异。它似乎也没有区别您可以选择哪种资源。因此,为了回答你的问题,我会回答“它没关系”,因为它们的行为方式相同。

答案 3 :(得分:3)

工作集是工作区的一个子集,是组织所有项目的一种方式。使用不同类型的工作集,您还可以使用不同类型的编辑向导as described here

编辑向导

对于java项目,Java工作集是一种更舒适的工作方式。假设你在java工作集中有一堆java项目,你刚刚打开了Java Working set的编辑向导:

首先,您可以在右表中看到工作集中的所有内容。如果您现在想要包含另一个项目,只需选择项目并按 CTRL + a 。要删除项目,您可以按 CTRL + r

在资源工作集的属性中,在滚动到树视图底部之前,您不知道工作集中的内容。对于在工作区中拥有300多个项目的人来说,这是不可能的。

<强>结构

拥有两种工作集的好处是结构。在日常工作流程中存在这样的情况:具有不同类型的工作集是有用的,因为它们具有不同的图标。如果您有配置文件之类的资源,您可以创建资源工作集名称'配置文件'并将所有文件放在那里。

之后,您可以打开文件搜索并在配置文件中搜索。这是可能的,因为您可以将工作集定义为搜索范围。

enter image description here

Eclipse中有几个部分,您可以使用Select working set dialog选择工作集。

答案 4 :(得分:0)

我将以插件开发人员的身份尝试回答问题。来自API

  

工作集旨在将元素分组以便呈现给用户或对一组元素进行操作。

这可以是任何类型的元素,而不必是项目。工作集由插件提供,插件可以决定可以添加哪种类型的元素,并且可以提供添加元素的向导以及可以执行的操作。

对于它所在的工作集的项目而言,这并不重要。如果Java项目在资源工作集中,则它仍然是Java项目。它只会影响某些过滤某些类型的工作集的视图,对话框和操作。

除了 Java Resource 工作集外,还有 Breakpoint Task Plugin < / em>和 C / C ++ 工作集(当然取决于您的Eclipse设置)。一些视图仅显示某些类型的工作集,而其他视图似乎没有过滤它们。例如,“打开类型”和“打开资源”对话框似乎显示了所有类型的工作集。 “打开任务”对话框仅显示任务工作集。

那么Java和Resource工作集之间的实际区别是什么?我还没有看到任何功能上的差异。所有标准视图和对话框似乎都不能处理这两种工作集类型,或者两者都不处理。大多数插件似乎根本不在乎区别-但这并不意味着某些插件可以处理不同的两种类型。

另一方面,资源工作集对于任何类型的项目而言似乎都是万能的,所以有意义的是,大多数插件在这里没有区别。 例如,如果我要创建一个提供分析Java项目选项的插件,则可以将该操作添加到Java工作集的上下文菜单中,但肯定不会添加到C / C ++工作集。但是有些人可能会使用资源工作集,因为他们在同一工作集中拥有Java和C项目。因此,我也必须将特定于Java的操作添加到资源工作集的上下文菜单中。