【问题标题】:Where to cache a file for a Eclipse RCP-plugin在哪里缓存 Eclipse RCP 插件的文件
【发布时间】:2016-12-30 22:49:08
【问题描述】:

我正在为 Eclipse-RCP-Application 开发一个插件。现在我想缓存一个文件(因为我不想在需要的时候访问互联网)。即使在重新启动应用程序后,该文件也应该可以访问。哪里是最适合它的地方?

我想到了workspace/.metadata 文件夹。但我不确定那是否是正确的地方以及如何检索位置信息。这应该可以,但我还没有找到ResourcesPlugin

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();

谁能告诉我存储此类文件的最佳位置?

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp workspace


    【解决方案1】:

    如果您不希望用户看到该文件,请使用插件“状态位置”。你得到这个使用:

    Bundle bundle = ... your plugin's Bundle
    
    IPath path = Platform.getStateLocation(bundle);
    

    插件的状态位置是一个文件夹,它是工作区元数据的一部分(确切地说是.metadata/.plugins/plugin id)。

    你可以把你喜欢的任何东西放在这个文件夹中。由您的插件来管理这些数据。

    您可以通过多种方式获取Bundle,例如:

    Bundle bundle = FrameworkUtil.getBundle(getClass());
    

    Bundle bundle = Platform.getBundle("plugin id");
    

    注意:您在问题中提到的代码会将文件放在工作区中,并且对用户可见。 ResourcesPluginorg.eclipse.core.resources 插件中。

    【讨论】:

    • 非常感谢。这正是我所需要的!
    猜你喜欢
    • 2013-10-19
    • 2016-04-07
    • 1970-01-01
    • 2015-05-11
    • 2015-01-31
    • 2014-03-30
    • 1970-01-01
    • 2011-05-28
    相关资源
    最近更新 更多