我想在运行时清除 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();
我使用反射,因为父方法是私有(private)的。最好这样做,而不是自己编写代码来获取文件,因为它可以确保我始终获得正确的位置。
关于java - 在运行时清除缓存 - Eclipse e4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790086/