将 Eclipse 工作区从 ~ 移动到新目录?

39
好的,我犯了一个错误,把我的主目录(~,也就是/home/user)设置为RHEL6盒子上的工作区位置。
我想把我的工作区改成~/workspace。然而,我似乎无法通过复制文件来实现这一点。 背景如下,我目前正在开发并已完全设置在~工作区下的项目,所有源文件都存储在其他地方(~/depot/.../../../../src),因此我甚至看不到在~中代表我的项目的文件夹。
5个回答

63

请按以下步骤操作:

  • 关闭工作区中的所有项目
  • 关闭Eclipse
  • 将目录.metadata~移动到~/workspace
  • 打开Eclipse,并在提示选择工作区时将其设置为~/workspace

16
要在 Eclipse 中提示选择工作空间,可以在“首选项”中的“通用” -> “启动和关闭” -> “工作空间”中勾选“在启动时提示选择工作空间”复选框。请注意不要改变原文意思。 - EricRobertBrewer
5
如果您想将WS(.metadata)和项目移动到新位置,我发现这个方法很有效。但如果您只想移动工作区,则不太行:当您尝试重新打开项目时,因为它们相对于工作区的位置已被记录下来,所以无法找到它们。我曾试图通过设置工作区的“PARENT_LOC”来解决此问题,但没有起到帮助作用。 - Tom
3
如果您之前将您的工作区 (~/old_workspace) 设为默认工作区,Eclipse 重新启动时将会重新创建它。要么取消默认设置(按照 @UberPrinny 的说明进行操作),要么在重新启动后进行清理。 - offbyone
1
我有这样的印象,自从Eclipse Oxygen(4.7)以来,它不再起作用了,还是只有我这样? - zb226
2
不应该复制或移动工作区目录,因为它可能包含元数据与绝对文件系统路径,如果将工作区复制到其他地方,则这些路径将无效。 - David Balažic

18

在Windows 8上我这样做:

  1. 关闭Eclipse中的所有项目
  2. 关闭Eclipse
  3. 将工作区文件夹物理移动到一个新位置(在我的情况下,我将其放在c:\projects中并备份)
  4. 启动Eclipse
  5. 文件 > 切换工作区 并选择新路径。 然后Eclipse重新启动并显示所有项目。

1
在Windows Server 2012上做了同样的事情。这与被接受的答案类似,只是它涉及移动一个已经在我的工作空间文件夹内的.metadata文件夹,而我想要移动整个工作空间文件夹。 - Daniel Widdis

3

关闭Eclipse项目和Eclipse本身后,将所有项目文件夹和新工作空间文件夹中的.metadata文件夹移动到该文件夹中。


8
你的解决方案与已有答案相比是否有任何新信息? - Artemix
3
@Artemix:我猜应该是“移动所有项目文件夹”。 - Eddinho

2
  1. 关闭Eclipse。
  2. 打开工作区的位置,剪切并粘贴整个目录(包含".metadata"目录)到所需位置。
  3. 使用新复制的文件夹作为工作区(即".metadata"文件夹的父目录)重新启动Eclipse。

如果您希望将Java项目与工作区分开,那么这不是一种弹性技术。例如,如果您想要(或需要)将项目保留在原地,只移动工作区怎么办?您无法使用此技术来实现。最好的方法是关闭Eclipse,物理上只移动隐藏的.metadata目录到所需位置。这样只迁移您的工作区,使您的项目保持原始位置。但是,如果您愿意将项目与工作区一起迁移,则可以使用您的方法。希望讲得清楚。 - IqbalHamid
实际上,如果.location文件保存了您项目的完整路径,那么移动项目文件夹可能会更糟,因为工作区将无法再找到它。 - rougou
如果将项目添加到工作区文件夹中,则似乎不会创建 .location 文件,并且假定它是相对的。因此,如果项目位于工作区文件夹中,则很可能必须将它们与 .metadata 文件夹一起移动。 - rougou
只是为了明确,在第三步中,您可以在快捷方式中使用“-data”参数来指定新的工作区位置,或者在重新启动Eclipse后转到“文件”->“切换工作区”。但是对于后者,Eclipse将在启动时已经在原始位置创建了一个新的“.metadata”文件夹(您可以安全地删除此文件夹)。 - rougou

0
我正在测试手动从工作区移动文件,突然我的Eclipse在视图中没有显示它们,所以我将它们移回到它们来自的同一位置,在Eclipse中单击右键,单击期望这些文件的包并单击刷新,现在我可以在Eclipse下的包中查看它们,因此尝试刷新可能会对您有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接