RCP:NotHandledException和可能在工作区文件夹中缓存的命令处理程序?

时间:2014-01-28 13:27:02

标签: java rcp

在为我们的客户安装新版本时,我发现了一个关于我们的应用程序中缺少命令处理程序的奇怪错误:

org.eclipse.core.commands.NotHandledException: There is no handler to execute for command ...

我检查了插件和其他所有内容,发现处理程序实际上在那里,已激活,可见等等。现在奇怪的是:错误可以通过删除用户的工作区文件夹来解决(除了发生的运行时文件夹当从-clean开始时)。但我找不到任何与命令或处理程序相关的内容。有很多关于列顺序,窗口大小等的数据,所以我不能只是将这些数据擦去生产。

哪些缓存数据可能会导致此效果?

我们现在坚持使用RCP 3.4。

2 个答案:

答案 0 :(得分:0)

有关处理程序的唯一信息将位于应用程序configuration文件夹中的插件配置中,但-clean启动应重建此信息。实际工作空间文件夹中没有关于处理程序的信息。

答案 1 :(得分:0)

我发现可以通过从工作区中删除文件.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs来解决问题。

该文件包含透视ID作为键,XML结构作为值。删除引用透视图的此文件的单行解决了该透视图的问题。

我注意到透视图之前用它们的短名称(没有包)引用,并且在新版本之后使用它们的完全限定名称。因此,使用旧的prefs时必然会有一些副作用,导致处理程序不再起作用。