26

我在Eclipse中使用多个工作区。我最近注意到,我的一些工作区中安装了许多软件包,但后来删除了一些软件包。据我所知,情况是,许多软件包为安装软件包时打开的每个工作空间的.metadata文件夹写入了一些东西(有时是很多东西)。当我删除一个包时,它似乎清理了我当时打开的工作空间的.metadata文件夹,但所有其他工作空间都保留有孤立的元数据。有时候这个元数据经常会导致问题—,打开工作区时出现错误,有时会导致不稳定。清理Eclipse工作区元数据

我知道对付这个问题的唯一方法是从污染工作区中创建一个新的工作区,引进项目,重建我的所有设置(一个重大的痛苦),然后删除旧的工作区。有没有更简单的方法来处理这个问题?

+0

我喜欢没有人真正回答这个问题。 – Andrew 2017-06-23 14:46:51

+1

@Andrew - 是的。我认为广泛的建议正好指出了这个问题:没有好办法来处理这种情况。 (我希望没有人相信,寻找魔术文件来手工复制或删除是一件好事。)Eclipse工作空间的设计方式有些不尽如人意。 – 2017-06-23 15:04:19

+0

从我看到的答案中可以看出,答案如下:(A)吸取它,(B)删除工作空间中的.metadata目录并重新导入项目并设置所有项目,或者(C)核弹并重新安装Eclipse。 – Andrew 2017-06-23 15:28:15

回答

22

有没有简单的方法来从现有的工作区中删除了“过时”的东西。使用“clean”参数并不会真正起到帮助作用,因为您引用的许多文件都是“自由格式数据”,只有不再可用的插件才知道。

最好的办法是优化重新导入,在这里我想指出以下几点:

  • 当创建一个新的工作区,你已经可以选择有一些设置从目前被复制到新的工作区。
  • 可以导出当前工作区(使用出口菜单)的喜好,并在新的工作区重新导入。
  • 有很多互联网刚刚从旧的复制${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings文件夹复制到新的工作空间上的建议。这无疑是最快的途径,但它可能会导致怪异的行为,因为你的一些插件可能依赖于这些设置上的一些存储在别处所提到的“自由表单数据”的。 (甚至还有人在符号链接多个工作区这些文件夹,但是这确实需要使用所有的工作区相同的插件。)
  • 你可能要考虑使用更多的项目特定设置比将来工作区首选项。因此,例如,所有Java编译器设置都可以在工作空间级别或项目级别上设置。如果在项目级别上设置,则可以将它们置于版本控制之下并且独立于工作区。
+0

我担心导出首选项会精确导出'$ {old_workspace} /。metadata/.plugins/org.eclipse.core.runtime/.settings':http://stackoverflow.com/questions/13334150/eclipse-workspaces- sync-settings-what-to-sync – 2014-07-15 18:45:50

+0

@Mr_and_Mrs_D当然是的。但它仅限于可用偏好的一小部分,并由此限制到元数据设置文件夹的一小部分。 – Bananeweizen 2014-07-16 08:43:22

+0

我指的是“互联网上有很多推荐__just__复制$ {old_workspace}/...”同样根据我的实验,它会盲目地导出所有'org.eclipse.core.runtime/.settings'文件夹 - 不是一个子集(请参阅我的问题与夫妇有关的错误)。人们需要的其他设置(“自由形式数据”)是我的问题 – 2014-07-16 11:14:54

10

其中之一,你可能想尝试开始日食与-clean选项的事情。如果您选择每次使用相同的工作空间,那么在此之后您就不需要做任何事情。使用该选项后,应清理工作空间。

但是,如果你没有选择一个默认的工作空间,开辟了日食的时候,你会被提示选择工作区。此时,请选择您想要清理的工作区。

"How to run eclipse in clean mode""Keeping Eclipse running clean"了解更多详情。

+0

实际上,清理模式只会清除OSGi的东西,不会影响工作区。第二个环节在这方面颇具误导性。 – exic 2017-03-29 11:14:40

2

在我的情况日食没有显示父类的功能在$这一点,所以我下面提点执行并开始工作: -

我去我的/ var/WWW /文件夹和检查。元数据文件夹(这里检查.log文件并显示)资源与文件系统不同步: 1。转到Eclipse - >项目 - >清洁 2. Windows - 首选项 - >常规 - >工作区 - >并将其设置为“自动刷新”

之后,繁荣 - 事情开始工作: )

如果你想加载其他文件的变量,那么也可以这样做: - Eclipse - > Windows - > Preferences - > Php - > Editor - > Content Assist - >然后选中“show变量从其他文件“

然后它会显示元素,变量和其他功能也。

0

在某些情况下,我可以通过删除工作空间元数据(.metadata/.plugins/org.eclipse.core.resources/.snap)中的.snap文件来防止Eclipse在启动过程中崩溃。

参见https://bugs.eclipse.org/bugs/show_bug.cgi?id=149121 (该错误已被关闭,但发生在我身上最近)

0

我知道对付这个问题的唯一方法是从被污染的工作区中创建一个新的工作区, 进口项目,重建所有我的 设置(一个主要的痛苦),然后删除旧的工作区。有没有更简单的方法来处理这个问题?

为了同步或恢复我们所有的设置,我们使用Workspace Mechanic。一旦所有设置都被记录下来,只需点击一次,所有设置就会恢复... 您还可以设置一个服务器,为所有用户提供这些设置。