在运行时清除缓存 - Eclipse E4



我想在运行时清除Eclipse E4缓存(.metadata目录(。

通过在运行配置中设置复选框来清除缓存的帖子,但是在清除代码中的缓存时找不到任何内容。

我宁愿使用已经编写的方法(如果有的话(,与写我的方法相比。

如果我自己要这样做,那么我将在生命周期经理中的@PostContextCreate期间这样做。

是否有一种方法可以为我执行此操作,或者我应该删除缓存目录?

更新这是我想解决的问题。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=430090#add_comment

要在运行时清除缓存,我已经覆盖了ResourceHandler并将其添加到loadMostRecentModel

final Method m = getClass().getSuperclass().getDeclaredMethod("getWorkbenchSaveLocation", new Class<?>[] {});
m.setAccessible(true);
final File workbenchSaveLocation = (File) m.invoke(this, (Object[]) null);
workbenchSaveLocation.delete();  

我将反射作为父方法是私有的。最好做到这一点,而不是编写代码以自己获取文件,因为它可以确保我始终获得正确的位置。

首先,删除 .metadata 文件夹可能会损坏用户数据:偏好,启动配置,谁知道还有什么 - 这取决于特定的插件实现。

您的更新可能包含带有新服务和扩展名的新捆绑包和片段。用户可以重新排列视图,并使用Workbench模型执行其他事情。

=>

Workbench模型的删除将无法解决所有问题,请考虑以下内容:

  • 更新后重新启动,以确保应用所有新的捆绑包/服务/服务如何重新启动E4 RCP应用程序

  • 加载后使用模型处理器来操作模型

最新更新