在产品启动时清理工作区.metadata文件夹

时间:2018-03-05 10:13:20

标签: eclipse eclipse-plugin

我开发了一个Eclipse插件,它扩展到了Eclipse UI,我们将它作为一个完整的Eclipse产品提供。该插件的目标是一些汽车项目。

可以从项目配置产品版本,执行批处理文件将启动产品的正确版本。

所以最后的命令将是这样的:

start /B %PRODUCT_PATH%/eclipse.exe -clean -configuration %PATH_TO_PROJECT_CONFIG% -data %PROJECT_PATH

问题来自于从一个产品版本切换到另一个产品版本,.metadata文件夹已损坏或其中的信息在产品之间不兼容,我不确定究竟发生了什么,但我在启动时遇到了零星的异常。

当我清理.metadata并在项目位置没有现有.metadata文件夹的情况下启动产品时,一切都正常运行。

是否有一个命令行选项供Eclipse在启动前清理工作区.metadata

2 个答案:

答案 0 :(得分:3)

所有(我认为!)Eclipse命令行参数可以在参考文档的Runtime options部分找到。

我在该文档中没有找到关于删除.metadata目录的内容。

我还搜索过" clean"," clear"和"删除",并引用osgi.instance.area(这是.metadata目录的OSGI术语),但没有发现任何相关的内容。

建议1:clearPersistedState

您可以尝试-clearPersistedState选项。也许那会有所帮助? (我不知道该选项的目的,我只是在文档中找到了它。)

建议2:启动脚本

否则,您可以使用一个只运行del的启动脚本来删除目录。

建议3:找出根本原因

最好的办法当然是找到启动问题的根本原因并解决这个问题。但在你的情况下,这可能太费时或不可能。

答案 1 :(得分:1)

工作日的.metadata文件夹不仅包含缓存,还包含本地历史记录,透视图及其编辑器和视图的布局以及非共享启动配置存储在.metadata中夹。因此,删除.metadata文件夹不是一个好主意。

而不是清除整个.metadata文件夹,而不是清除根本原因,导致问题的文件和编写丢弃或迁移这些数据的代码到新的格式。 Eclipse bug 411602是此类问题的一个示例,该问题是由未存储在.metadata文件夹中的迁移数据引起的。