猿问

在运行时清除缓存 - Eclipse e4

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

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

与编写自己的方法相比,我更愿意使用已经编写好的方法(如果有的话)。

如果我要自己做这件事,那么我会@PostContextCreate在生命周期管理器中做这件事。

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

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

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


qq_遁去的一_1
浏览 88回答 2
2回答

哔哔one

为了在运行时清除缓存,我覆盖了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();&nbsp;&nbsp;我使用反射,因为父方法是私有的。最好这样做而不是自己编写代码来获取文件,因为它可以确保我始终获得正确的位置。

白猪掌柜的

首先,删除.metadata文件夹会损坏用户数据:首选项、启动配置,谁知道还有什么——这取决于特定的插件实现。此外,您的更新可能包含带有新服务和扩展的新捆绑包和片段。并且用户可以重新排列视图并执行工作台模型坚持的其他事情。=>删除工作台模型并不能解决所有问题,请考虑以下事项:更新后重新启动以确保应用所有新的捆绑包/扩展/服务如何重新启动 e4 RCP 应用程序使用模型处理器在加载后操作模型http://blog.vogella.com/2010/10/26/processors-e4-model/
随时随地看视频慕课网APP

相关分类

Java
我要回答