eclipse rcp程序问题-主要是关于帮助文档的插件依赖项目

时间:2023-01-20 22:21:02
是这样的,我用eclipse 3.2.2开发rcp程序,其他都没什么问题,就是在帮助文档扩展点有问题。
每次我在编写完它后,按照流程在“插件依赖项”中添加帮助文档所需要的插件依赖项,可以总是一添加程序就不能启动了。
错误日志如下:
ctionBarAdvisor.register(ActionBarAdvisor.java:189)
at help.ApplicationActionBarAdvisor.makeActions(ApplicationActionBarAdvisor.java:49)
at org.eclipse.ui.application.ActionBarAdvisor.fillActionBars(ActionBarAdvisor.java:147)
at org.eclipse.ui.internal.WorkbenchWindow.fillActionBars(WorkbenchWindow.java:3073)
at org.eclipse.ui.internal.WorkbenchWindow.<init>(WorkbenchWindow.java:346)
at org.eclipse.ui.internal.Workbench.newWorkbenchWindow(Workbench.java:1352)
at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:804)
at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1453)
at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1404)
at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:708)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1101)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at help.Application.run(Application.java:18)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

可我只要把所添加的依赖项去掉后则又可以重写启动RCP程序了。
此外,如果是在插件项目刚建立就添加相关插件依赖项则可以正常启动,但是如果需要往已建立项目中添加帮助插件依赖项则就会出现上述问题。
请问各位大侠,这是怎么回事还有怎么解决呢?????

23 个解决方案

#1


提示消息还有一般没复制,昏
eclipse.buildId=unknown
java.version=1.5.0_04
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Framework arguments:  -application help.application
Command-line arguments:  -application help.application -data D:\gatmp/../runtime-Eclipse应用程序(5) -dev file:D:/gatmp/.metadata/.plugins/org.eclipse.pde.core/Eclipse 应用程序 (5)/dev.properties -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui 4 4 2008-04-02 10:29:28.890
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 2008-04-02 10:29:28.906
!MESSAGE null argument:Action must not have null id
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: null argument:Action must not have null id
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:84)
at org.eclipse.ui.application.ActionBarAdvisor.register(ActionBarAdvisor.java:189)
at help.ApplicationActionBarAdvisor.makeActions(ApplicationActionBarAdvisor.java:49)

#2


UPUPUPUP

#3


是不是在定义扩展点时没有为菜单定义id或者在Action中引用id出现问题
你错误提示是

#4


难道用rcp程序的人真这么少啊??

#5


呵呵,不好意思刚才还没说完就回复了
从你的错误提示看估计是因为在扩展点定义时应该指定一个Action,并且指定的这个Action要为他确定一个id
是不是这个id出问题了

#6


呵呵!有高手吧!还没有绝迹!会一点一点发展起来的!

#7


Action已经定义了,使用eclipse 的run as eclipse application启动时会出现了启动失败。说是无法找到application类,而如果去掉插件就可以
正常启动并且能出现了菜单。
我的意思是,不管你添加还是没添加帮助菜单,只要你在添加了其他如view操作后再添加了插件依赖项,就会出现启动错误的。

#8


而且我下载了eclipse 3.3.1后直接解压,然后建立rcp插件项目时,接着启动该程序就会出错,出现错误跟我在3.2.2后添加依赖项后的错误一样,就是说
无法找到application类。

#9


就是这个错误
java.lang.RuntimeException: 在注册表中找不到应用程序“LearningRCP.application”。可用的应用程序有:<NONE>。
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:68)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

#10


然后去掉那个帮助所需要的插件依赖项后则能正常启动

#11


等待答案出现

#12


你所说的那个帮助插件有没有jar包或者需要用到其它的jar包
有的话把jar包加到运行时里面试试,即在plugin.xml中有个runtime选项,在里面把相关的jar包引入

#13


这个我想不是关键吧,因为我如果在新建项目后就立刻添加依赖项就不会有问题。
而且添加依赖项后是会自动导入这些依赖项所在JAR包的。

我主要是不明白为什么在新建项目后立即添加则没有任何问题,而在添加完视图等操作后在添加插件依赖项则会出现问题

#14


我觉得你应该是plugin.xml里少了东西了,你在eclipse里打开这个文件的时候,会出现很多页,里面肯定有什么东西你没配置好,或者包没引入近来,我记得好象要三个包,不好意思具体的细节我记不清楚了,不过你可以看看清华大学出版的Eclipse SWT/JFace核心应用那本书,里面介绍的很详细,照着那上面来你就不会错的.我以前开发过这个东西的。其实并不难,就是烦琐.

#15


我就是按照那本书上写的做的,如果会少东西的话怎么我新建项目后立即添加就没有任何问题??
而在添加了其他视图等操作后再一模一样操作添加一次就有问题的??
而且是只要我添加一个插件依赖项就会出问题,甚至还没用到它

#16


该回复于2008-04-09 05:24:25被版主删除

#17


UPUPUPUP

#18


该回复于2008-04-09 05:24:23被版主删除

#19


依赖项添加不完整,漏掉了某些插件。

用3.2版本的话,运行的时候,选择运行按钮旁边的那个三角,下拉菜单里再选“运行”弹出运行配置编辑对话框。

选择你运行RCP程序使用的那个配置,在右边选择“插件”项,然后点右下角的“验证插件集合”会提示问题所在。

另外请参考:http://blog.csdn.net/dollyn/archive/2007/04/17/1567419.aspx

:)

#20


该回复于2008-04-09 12:48:13被版主删除

#21


该回复于2008-04-09 12:48:09被版主删除

#22


引用 19 楼 dollyn 的回复:
依赖项添加不完整,漏掉了某些插件。 

用3.2版本的话,运行的时候,选择运行按钮旁边的那个三角,下拉菜单里再选“运行”弹出运行配置编辑对话框。 

选择你运行RCP程序使用的那个配置,在右边选择“插件”项,然后点右下角的“验证插件集合”会提示问题所在。 

另外请参考:http://blog.csdn.net/dollyn/archive/2007/04/17/1567419.aspx 

:)


多谢19楼的点拨,我明白了。谢谢

#23


哈哈 ,,插件依赖不  一致  引起的...

我也遇到过,我同事高诉我的,他也是别人告诉他的.

#1


提示消息还有一般没复制,昏
eclipse.buildId=unknown
java.version=1.5.0_04
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Framework arguments:  -application help.application
Command-line arguments:  -application help.application -data D:\gatmp/../runtime-Eclipse应用程序(5) -dev file:D:/gatmp/.metadata/.plugins/org.eclipse.pde.core/Eclipse 应用程序 (5)/dev.properties -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui 4 4 2008-04-02 10:29:28.890
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 2008-04-02 10:29:28.906
!MESSAGE null argument:Action must not have null id
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: null argument:Action must not have null id
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:84)
at org.eclipse.ui.application.ActionBarAdvisor.register(ActionBarAdvisor.java:189)
at help.ApplicationActionBarAdvisor.makeActions(ApplicationActionBarAdvisor.java:49)

#2


UPUPUPUP

#3


是不是在定义扩展点时没有为菜单定义id或者在Action中引用id出现问题
你错误提示是

#4


难道用rcp程序的人真这么少啊??

#5


呵呵,不好意思刚才还没说完就回复了
从你的错误提示看估计是因为在扩展点定义时应该指定一个Action,并且指定的这个Action要为他确定一个id
是不是这个id出问题了

#6


呵呵!有高手吧!还没有绝迹!会一点一点发展起来的!

#7


Action已经定义了,使用eclipse 的run as eclipse application启动时会出现了启动失败。说是无法找到application类,而如果去掉插件就可以
正常启动并且能出现了菜单。
我的意思是,不管你添加还是没添加帮助菜单,只要你在添加了其他如view操作后再添加了插件依赖项,就会出现启动错误的。

#8


而且我下载了eclipse 3.3.1后直接解压,然后建立rcp插件项目时,接着启动该程序就会出错,出现错误跟我在3.2.2后添加依赖项后的错误一样,就是说
无法找到application类。

#9


就是这个错误
java.lang.RuntimeException: 在注册表中找不到应用程序“LearningRCP.application”。可用的应用程序有:<NONE>。
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:68)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

#10


然后去掉那个帮助所需要的插件依赖项后则能正常启动

#11


等待答案出现

#12


你所说的那个帮助插件有没有jar包或者需要用到其它的jar包
有的话把jar包加到运行时里面试试,即在plugin.xml中有个runtime选项,在里面把相关的jar包引入

#13


这个我想不是关键吧,因为我如果在新建项目后就立刻添加依赖项就不会有问题。
而且添加依赖项后是会自动导入这些依赖项所在JAR包的。

我主要是不明白为什么在新建项目后立即添加则没有任何问题,而在添加完视图等操作后在添加插件依赖项则会出现问题

#14


我觉得你应该是plugin.xml里少了东西了,你在eclipse里打开这个文件的时候,会出现很多页,里面肯定有什么东西你没配置好,或者包没引入近来,我记得好象要三个包,不好意思具体的细节我记不清楚了,不过你可以看看清华大学出版的Eclipse SWT/JFace核心应用那本书,里面介绍的很详细,照着那上面来你就不会错的.我以前开发过这个东西的。其实并不难,就是烦琐.

#15


我就是按照那本书上写的做的,如果会少东西的话怎么我新建项目后立即添加就没有任何问题??
而在添加了其他视图等操作后再一模一样操作添加一次就有问题的??
而且是只要我添加一个插件依赖项就会出问题,甚至还没用到它

#16


该回复于2008-04-09 05:24:25被版主删除

#17


UPUPUPUP

#18


该回复于2008-04-09 05:24:23被版主删除

#19


依赖项添加不完整,漏掉了某些插件。

用3.2版本的话,运行的时候,选择运行按钮旁边的那个三角,下拉菜单里再选“运行”弹出运行配置编辑对话框。

选择你运行RCP程序使用的那个配置,在右边选择“插件”项,然后点右下角的“验证插件集合”会提示问题所在。

另外请参考:http://blog.csdn.net/dollyn/archive/2007/04/17/1567419.aspx

:)

#20


该回复于2008-04-09 12:48:13被版主删除

#21


该回复于2008-04-09 12:48:09被版主删除

#22


引用 19 楼 dollyn 的回复:
依赖项添加不完整,漏掉了某些插件。 

用3.2版本的话,运行的时候,选择运行按钮旁边的那个三角,下拉菜单里再选“运行”弹出运行配置编辑对话框。 

选择你运行RCP程序使用的那个配置,在右边选择“插件”项,然后点右下角的“验证插件集合”会提示问题所在。 

另外请参考:http://blog.csdn.net/dollyn/archive/2007/04/17/1567419.aspx 

:)


多谢19楼的点拨,我明白了。谢谢

#23


哈哈 ,,插件依赖不  一致  引起的...

我也遇到过,我同事高诉我的,他也是别人告诉他的.