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



我开发了一个扩展到 Eclipse UI 的 Eclipse 插件,我们将其作为整个 Eclipse 产品交付。该插件将一些汽车项目作为目标。

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

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

start /B %PRODUCT_PATH%/eclipse.exe -clean -configuration %PATH_TO_PROJECT_CONFIG% -data %PROJECT_PATH
从一个产品版本

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

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

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

所有(我认为!(Eclipse 命令行参数都可以在参考文档的运行时选项部分找到。

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

我还搜索了"干净","清除"和"删除"这些词的用法,以及对osgi.instance.area的引用(并认为这是.metadata目录的OSGI术语(,并没有发现任何似乎相关的内容。

建议1:clearPersistedState

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

建议 2:启动脚本

否则,也许您可以有一个启动脚本,该脚本只需运行del即可删除目录。

建议3:找到根本原因

最好的办法当然是找到启动问题的根本原因并解决这个问题。但也许这对您来说太耗时或不可能。

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

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

最新更新