一、异常现象

在运行RCP程序时,出现

java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
at java.lang.reflect.Method.invoke(Method.java:)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:)
at org.eclipse.equinox.launcher.Main.run(Main.java:)
at org.eclipse.equinox.launcher.Main.main(Main.java:)

通出,在修改了程序中的某个插件(如添加一个扩展等)后,没有引入包含该扩展点的插件,就直接通过产品配置编辑器的界面运行程序,这时就会发生此异常。

二、异常原因

1.异常原因

产品配置中所包含的插件不够,不足以启动RCP程序所致。

也就是说,有某些必需的插件没有引入。

2.例子

例如,插件A添加了一个扩展,对应的扩展点包含在插件X中,而插件X却没有被加到产品配置的插件列表中。(或者使用的插件X与它所依赖的插件不配套等)

这时就会出现上述异常。

三、异常解决

将程序必需的插件都添加进去即可。

1.通常情况

如果是通过插件配置产品,

1.1 打开产品配置,在Contens页面,点击“Add Required Plug-ins”,即可。

1.2 配置 Run Configuration

(1)配置Main

(2) 配置Plug-ins

点击 Add Required Plug-ins

点击Apply,Run,发现插件能正常运行。

2.特殊情况

若通过1中方法还是不行。

(1)则在配置Run Configuration的Plug-ins时,勾选 Select All。然后运行,发现又能正常运行了。

(2)然后再将Plug-ins配置成 Add Required Plug-ins ,再运行,发现能正常运行了。

至于其中原因,暂时不知道。也希望读者能帮我解惑!

四、参考资料

1.参考:《Eclipse插件开发学习笔记》(2008年第一版),第627-628页

Eclipse插件开发_异常_01_java.lang.RuntimeException: No application id has been found.的更多相关文章

  1. eclipse 4 rcp: java.lang.RuntimeException: No application id has been found.

    错误详情: java.lang.RuntimeException: No application id has been found. at org.eclipse.equinox.internal. ...

  2. [JAVA][RCP]Clean project之后报错:java.lang.RuntimeException: No application id has been found.

    Clean了一下Project,然后就报了如下错误 !ENTRY com.release.nattable.well_analysis 2 0 2015-11-20 17:04:44.609 !MES ...

  3. 启动MyEclipse 出现java.lang.RuntimeException: No application id has been found 解决办法

    咋一看,太熟悉了,就去eclipse\links 目录下,发现指定的MyEclipse的路径不对. 突然想起来了,MyEclipse是换地了. MyEclipse里面内置的eclipse找不到MyEc ...

  4. MyEclipse 启动之 java.lang.RuntimeException: No application id has been

    found. 今天公司刚买来一台服务器,配置安装 java 开发环境的时候,MyEclipse 无法启动,查看日志文件之后,具体错误信息 如下: [java] view plaincopyprint? ...

  5. Storm 执行异常 java.lang.RuntimeException: java.nio.channels.UnresolvedAddressException 问题解决

    最近写的 binlog2kafka storm job 上线在一个新的集群环境中(storm 0.9.0.1, kafka 0.8), storm job 运行时报出如下异常: java.lang.R ...

  6. Eclipse插件开发_学习_00_资源帖

    一.官方资料 1.eclipse api 2.GEF Developer's Guide 二. 精选资料 1.开发 Eclipse 插件 2.Eclipse, RCP, Plugin and OSGi ...

  7. Eclipse插件开发_学习_02_GEF入门实例

    一.前言 这一节,我们将会创建一个GEF入门实例 二.新建RCP项目 1. New 一个 Plug-in Project 2.输入项目名 项目名:com.ray.gef.helloworld 3.Co ...

  8. Eclipse插件开发_学习_01_Maven+Tycho 构建RCP程序

    二.参考资料 1.用Tycho来构建你的RCP程序(一) —— Plugin

  9. 异常java.lang.UnsupportedOperationException: The application must supply JDBC connections

    转自:https://blog.csdn.net/q952420873/article/details/81355586 先上图  根据这个错误溯源 于是 我来到了数据库连接部分的代码 ,发现多了一个 ...

随机推荐

  1. 74LS85 比較器 【数字电路】

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011368821/article/details/27959219 74LS85 demo: 11 ...

  2. Spring学习笔记2—AOP

    1.AOP概念 AOP(Aspect Oriented Programming):面向切面编程,AOP能够将那些与业务无关,却为业务模块所共同调用的应用(例如事务处理.日志管理.权限控制等)封装起来, ...

  3. iOS 11 Xcode9开发 新特性学习 (新方法篇)

    1 .  引入github (1) 在Xcode 9 中,引入了 gitHub,新源代码管理导航器 可以展示branch分支和 tag标签. (2)点进去,就可以看指定一次commit了哪些东西 2 ...

  4. iOS 单例模式 学习 "52个方法 第6章 45条 使用 dispath_once 来执行只需运行一次的线程安全代码"

    百度定义:单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 维基百科:在软件工程中,单例是一种用于实现单例的数学概念,即将 ...

  5. Python编程-数据类型方法

    一.进制简介 进制也就是进位制,是人们规定的一种进位方法.对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位.十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x ...

  6. Shell编程之Linux信号及信号跟踪

    一.Linux信号 1.什么是信号? Linux信号是由一个整数构成的异步消息,它可以由某个进程发给其他进程,也可以在用户按下特定键发生某种异常事件时,由系统发给某个进程. 2.信号列表 [root@ ...

  7. Too many open files 问题

    1.解决办法 (1)查看 查看当前系统打开的文件数量 lsof | wc -l watch "lsof | wc -l" 查看某一进程的打开文件数量 lsof -p pid | w ...

  8. Apache的order、allow、deny

    Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 所以,最常用的是:Or ...

  9. Centos 一次卸载多个RPM包

    rpm 不支持通配符,可以使用 xargs来接收多个变量 示例,一次性卸载所有 erlang先关的rpm包: rpm -qa | grep erlang | xargs rpm -e --nodeps

  10. Kubernetes Headless Service

    1. Headless Service headless service 需要将 spec.clusterIP 设置成 None. 因为没有ClusterIP,kube-proxy 并不处理此类服务, ...