Problem Description:新建了一个RCP Mail的Template Example,运行正常,但是当我将在另一个RCP工程里建好的View放进来时,工程运行就抛出Invalid Menu Extension (Path is invalid): org.eclipse.ui.edit.text.gotoLastEditPosition,而且菜单和工具栏里多出了一些Eclipse自己的东西(如Search,Go to Last Edit Location)。捣动半天未果,后来偶然发现另外一个一模一样的运行配置运行OK,只是使用了另一个Workspace,比较一下发现,出错工程的Workspace多了三四个Plugin的配置(org.eclipse.core.resources,org.eclipse.core.runtime,org.eclipse.debug.core,org.eclipse.debug.ui),而成功的工程workspace只有org.eclipse.ui.workbench的Plugin配置,其他都一样,即使我复制过来也不好使。现在只能用以前的那个成功的配置了,好使,但不知道为什么会出现上述情况,
难道是成功的工程已经将一些Extension注册了,所以后面的工程都用不了。
可能的原因:今天看Eclipse的RCP Tutorial时注意到Eclipse RCP所需的Plugin最小集是org.eclipse.core.runtime和org.eclipse.ui,又记起昨天使用了PDE的调试功能,所以org.eclipse.debug.core,org.eclipse.debug.ui可能是调试时生成的,或者是以前别的项目用过出错工程的workspace目录,生成了一些别的Plugin目录,而多出的Plugin在Plugin.xml文件里注册的menu在我的程序里没有被添加(或者没有定义对应的MenuPath),于是就抛出了:Invalid Menu Extension (Path is invalid)
不过还有一个问题:怎么workspace的.Plugin文件夹里只有org.eclipse.ui.workbench而没有org.eclipse.core.runtime,有谁知道这是为什么吗?
版权所有 罗明