我开发了一个扩展到 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
文件夹中的未迁移数据引起的。