Java 零件可以';类名更改后找不到

Java 零件可以';类名更改后找不到,java,eclipse-rcp,rcp,e4,Java,Eclipse Rcp,Rcp,E4,我在应用程序.e4xmi文件中定义了多个部分。这些货物装载正确 我现在想要一个部分使用不同的类URI。我现在已经将该部分指向了新的类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.ClassNotFoun

我在
应用程序.e4xmi
文件中定义了多个部分。这些货物装载正确

我现在想要一个部分使用不同的类URI。我现在已经将该部分指向了新的类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
类。这意味着它必须从缓存中获取类URI。然后它无法找到类并抛出错误。我尝试了在产品文件中执行
同步
启动Eclipse应用程序
,因为我认为这可能会更新它,但没有效果。我用来更新的最初方法是清除缓存,但我们不能让用户这样做,因为他们会丢失他们的首选项


正确的处理方法是什么

在运行配置的“参数”选项卡的“程序参数”部分指定
-clearPersistedState
标志。这将停止Eclipse从上一次运行(位于工作区的.metadata/.plugins/org.Eclipse.e4.workbench文件夹中)加载持久化的workbench.xmi。

如果用户拥有较旧版本的应用程序,并且我们给他们一个更新版本并更改了类,将如何处理?清除持久化状态是否清除整个缓存(如在运行配置中勾选
clear
时)丢失所有视图的先前位置?它将应用程序模型清除回application.e4xmi+片段中定义的模型。所以,是的,对职位的改变将会丢失。有什么替代方案吗?我希望使用相同的ID,但是使用不同的类,并维护它的位置。这也意味着,如果我决定添加任何新视图,那么用户必须丢失其布局设置?我不知道其他任何事情。我正在尝试一种可能的方法来更新模型,同时保持用户设置的布局,因为用户不希望丢失此设置。事实证明,这很困难。我一直在看,Nicolas提到将部分布局存储到磁盘。我现在已将
MApplication
存储到磁盘。我清除缓存并将其重新加载。我现在很难将旧的
MapApplication
与新的进行比较。你对如何做到这一点有什么想法吗?