我开发了一个Eclipse插件,它扩展到了Eclipse UI,我们将它作为一个完整的Eclipse产品提供。该插件的目标是一些汽车项目。
可以从项目配置产品版本,执行批处理文件将启动产品的正确版本。
所以最后的命令将是这样的:
start /B %PRODUCT_PATH%/eclipse.exe -clean -configuration %PATH_TO_PROJECT_CONFIG% -data %PROJECT_PATH
问题来自于从一个产品版本切换到另一个产品版本,.metadata
文件夹已损坏或其中的信息在产品之间不兼容,我不确定究竟发生了什么,但我在启动时遇到了零星的异常。
当我清理.metadata
并在项目位置没有现有.metadata
文件夹的情况下启动产品时,一切都正常运行。
是否有一个命令行选项供Eclipse在启动前清理工作区.metadata
?
答案 0 :(得分:3)
所有(我认为!)Eclipse命令行参数可以在参考文档的Runtime options部分找到。
我在该文档中没有找到关于删除.metadata
目录的内容。
我还搜索过" clean"," clear"和"删除",并引用osgi.instance.area
(这是.metadata
目录的OSGI术语),但没有发现任何相关的内容。
clearPersistedState
您可以尝试-clearPersistedState
选项。也许那会有所帮助? (我不知道该选项的目的,我只是在文档中找到了它。)
否则,您可以使用一个只运行del
的启动脚本来删除目录。
最好的办法当然是找到启动问题的根本原因并解决这个问题。但在你的情况下,这可能太费时或不可能。
答案 1 :(得分:1)
工作日的.metadata
文件夹不仅包含缓存,还包含本地历史记录,透视图及其编辑器和视图的布局以及非共享启动配置存储在.metadata
中夹。因此,删除.metadata
文件夹不是一个好主意。
而不是清除整个.metadata
文件夹,而不是清除根本原因,导致问题的文件和编写丢弃或迁移这些数据的代码到新的格式。 Eclipse bug 411602是此类问题的一个示例,该问题是由未存储在.metadata
文件夹中的迁移数据引起的。