class 名称更改后找不到零件

Part can't be found after the class name has changed

我的 application.e4xmi 文件中定义了多个部分。这些加载正确。

我现在想要一个部分使用不同的 class URI。我现在已将该部分指向新的 class URI 和 运行 应用程序。

这是我得到的错误。

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-02-13 09:30:26.003
!MESSAGE Unable to load class 'com.example.ViewName' from bundle '3'
!STACK 0
java.lang.ClassNotFoundException: com.example.ViewName cannot be found by com.example_1.0.0.qualifier

我不再使用 application.e4xmi 文件中的 ViewName class。这意味着它必须从缓存中获取 class URI。然后无法找到 class 并抛出错误。我在产品文件中尝试了 SynchronizeLaunch an Eclipse application,因为我认为这可能会更新它,但没有效果。我用来更新的原始方法是清除缓存,但我们不能让用户这样做,因为他们会失去他们的偏好。

正确的处理方法是什么?

在 运行 配置的 'Arguments' 选项卡的 'Program arguments' 部分指定 -clearPersistedState 标志。这将停止 Eclipse 从以前的 运行 加载持久的 workbench.xmi(这在工作区的 .metadata/.plugins/org.eclipse.e4.workbench 文件夹中)。