2011-08-03 35 views
3

當我嘗試運行應用程序時,我總是得到下面的異常。除此之外,一切正常工作RCP應用程序「命令未定義」錯誤

java.lang.Exception 
    at org.eclipse.jface.action.ExternalActionManager$CommandCallback.isActive(ExternalActionManager.java:370) 
    at org.eclipse.jface.action.ActionContributionItem.isCommandActive(ActionContributionItem.java:647) 
    at org.eclipse.jface.action.ActionContributionItem.isVisible(ActionContributionItem.java:703) 
    at org.eclipse.jface.action.MenuManager.isChildVisible(MenuManager.java:999) 
    at org.eclipse.jface.action.MenuManager.isVisible(MenuManager.java:567) 
    at org.eclipse.jface.action.MenuManager.isChildVisible(MenuManager.java:999) 
    at org.eclipse.jface.action.MenuManager.update(MenuManager.java:763) 
    at org.eclipse.jface.action.MenuManager.update(MenuManager.java:682) 
    at org.eclipse.jface.action.MenuManager.createMenuBar(MenuManager.java:197) 
    at org.eclipse.jface.action.MenuManager.createMenuBar(MenuManager.java:213) 
    at org.eclipse.ui.internal.WorkbenchWindow.createDefaultContents(WorkbenchWindow.java:1069) 
    at org.eclipse.ui.internal.WorkbenchWindowConfigurer.createDefaultContents(WorkbenchWindowConfigurer.java:623) 
    at org.eclipse.ui.application.WorkbenchWindowAdvisor.createWindowContents(WorkbenchWindowAdvisor.java:300) 
    at org.eclipse.ui.internal.WorkbenchWindow.createContents(WorkbenchWindow.java:1036) 
    at org.eclipse.jface.window.Window.create(Window.java:431) 
    at org.eclipse.ui.internal.Workbench$22.runWithException(Workbench.java:1211) 
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) 
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 

回答

3

這意味着命令定義丟失。
您會在此bug reportEclipseZone中找到類似錯誤的示例。
在此例外之前,應該有'The command ("org.eclipse.ui.file.closeAllSaved") is undefined'。
(「org.eclipse.ui.file.closeAllSaved」只是有作爲一個例子:它你的情況下,它可能是一個不同的命令)

在第一個的情況下,proposed patch「省略,因爲我們沒有XXX支持默認處理程序」。

對於第二之一:

用於RCP應用一個簡單的解決方法是包括在插件中的一個的有用 定義(或在一個單獨的不重磨刀插件)。

喜歡的東西:

categoryId="org.eclipse.ui.category.file" 
id="org.eclipse.ui.file.closeAllSaved" # replace by your missing command 
name="Close All Saved"/> 
1

正如VonC說,一個命令定義丟失。 您應該添加這樣的事情:

<command 
     name="Close All Saved" 
     description="Close All Saved" 
     categoryId="org.eclipse.ui.category.file" 
     id="org.eclipse.ui.file.closeAllSaved"> 
    </command> 

到plugin.xml

還要確保的categoryId是指已定義的類別或你會得到這樣的警告:

!MESSAGE Commands should really have a category: plug-in='xxxxx', id='xxxx', categoryId='xxxxx' 
相關問題