当我尝试运行应用程序时,我总是得到以下例外。除此之外,一切都很好用
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)
答案 0 :(得分:3)
这意味着缺少命令定义
您会在bug report或EclipseZone中找到类似错误的示例
您应该在此例外之前加上“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 :(得分: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'