注意:我发现这不是任何问题的重复。我对此进行了大量研究(几个小时,可能整个Google都读过有关工作区的信息-当然是一个隐喻),但找不到我的问题的答案。
因此,我已经用Java进行了一些编程,并且主要使用Eclipse(当项目变得越来越复杂时,我才使用Vi)。我一直在默认工作空间中工作,$HOME/eclipse-workspace因为我从未真正了解工作空间的意义。
我回到用Java进行编程,安装了Eclipse并得到提示,请选择一个目录作为工作区,供我使用/home/campovski/eclipse-workspace。在我刚开始发布之前,但现在我开始感到好奇。这些工作空间是什么,它们用于...?
我做了一些研究:
我还遵循了第一个链接的答案中提供的链接,但没有一个给我答案:
目录和工作空间有什么区别?
如第三个链接所述:工作空间可以具有任意数量的项目,每个项目都可以存储在某些文件系统中的不同位置。好的,这可能有用,但是将所有项目而不是工作空间包含在一个父目录中又是什么问题呢?
就像在Eclipse中一样,您在左侧有一个目录选择菜单。您所在的当前目录被选为工作目录,并且可以在“ 命令窗口”中执行此目录中声明的任何Matlab函数和脚本。从Eclipse得出的类比是从不同的文件夹导入函数。
因此,我要重新表达的问题是,除了正常工作目录之外,工作空间中是否还有其他项目,它们只是项目,文件夹和文件的集合,除了工作空间中可能存在来自不同路径的项目外。
工作区就像 linux 中用户的 homedir。
工作区将 JRE 版本、已安装的服务器绑定在一起,如果您使用服务器连接器,则所有数据和临时 WAR、EAR 都保存在那里(.metadata/plugins)。切换工作区用于切换您工作的上下文:项目、客户端、语言、范式……工作区是 ECLIPSE 引导自身的目录。所有本地依赖项解析都在工作区目录中结束。
VisualStudio 的“解决方案”概念甚至不接近工作区的概念,因为解决方案只是一个父文件夹,用于对一个或多个项目进行分组并为它们提供一些常见的 CLR 名称和属性。
我已经使用 Eclipse 至少 10 年了……我得出了这个结论:对于使用相同 JRE 和相同 APP 服务器的所有项目,我都有相同的工作区。如果我需要一些特殊的工具(Spring 或 CDI 或 PHP 或一些奇特的插件),我有不同的 Eclipse 版本。所有工作区都位于我的主目录中。
您可以将工作区粘贴/复制到不同的计算机,使用相同的 Eclipse 版本即可开箱即用。
简化了,工作空间是一个由Eclipse监视的特殊目录:工作空间目录中的更改可能会触发某些操作。
例如,将保存的Java文件将被编译,并可能在从属Java项目中创建错误标记。仅在刷新后(假设“ 窗口”>“首选项”:“常规”>“工作空间”:禁用使用本机钩子刷新或禁用池),才能在Eclipse内部看到在Eclipse外所做的更改:Eclipse不会在内部缓慢存储文件,而不会进行缓慢的文件访问。
从历史的角度来看,工作空间概念可以看作是数据库和文件系统之间的折衷(在IBM VisualAge中,可以将其编辑为将Java源代码存储在数据库中,这可以看作Eclipse的前身)。
此外:
Eclipse的多个实例可以同时运行,每个实例都有自己的工作区。
Eclipse几乎将所有首选项(“ 窗口”>“首选项”)存储在工作空间中(在.metadata子文件夹中)。不同的工作空间可以具有不同的首选项。
该.metadata子文件夹也可以用来为缓存来加速的Eclipse。
我怀疑使用Eclipse(dogfooding)开发Eclipse所需的目标平台也会在决定工作区概念方面起作用(另请参阅Eclipse bug 392652)。
| 归档时间: |
|
| 查看次数: |
1510 次 |
| 最近记录: |