博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OSGi控制台在Eclipse插件开发中的妙用
阅读量:7141 次
发布时间:2019-06-28

本文共 1061 字,大约阅读时间需要 3 分钟。

  hot3.png

OSGi的实现本身有一个控制台,提供插件的查看和管理功能。而Eclipse是基于OSGi的平台应用,这样我们可以使用这个控制台辅助进行插件的管理,调试等工作…

一、管理和诊断

从事插件开发的各位同行也许都遇到过这样的问题:某个插件在发布以后无法启动,在Eclipse的插件列表中也看不到。这种情况一般是插件打包的时候出错,或者插件的依赖项不能满足。 如果项目的插件本身就比较多,或者依赖项比较多,这种问题查起来就非常痛苦。(Eclipse的插件列表会自动忽略某些无法启动的插件,无法通过Eclipse本身的插件列表排查问题)

而OSGi的控制台,允许你通过命令行的方式,对插件进行安装,卸载,启动,更新等操作,通过这样的方式进行排查。

例如,我们创建两个插件,example.TestA和example.TestB,插件B依赖插件A。然后只把插件B放到Eclipse的dropins目录下,这样我们是看不到example.TestB这个插件的,也无法使用它提供的功能。

此时,我们在启动eclipse的时候增加一个参数”- console”,就会同时启动一个控制台窗口,输入ss命令,会看到所有的bundle的信息列表:

还可以在命令后面增加参数过滤:

 

有的时候,这里也看不到插件,还可以使用install命令安装。

使用diag命令,可以对某个插件进行诊断:

二、在调试中应用

在插件开发过程中,我们调试插件,一般情况下,只要不是对类的结构进行改变,都可以在DEBUG模式下,进行代码的热替换,即debug模式修改代码,无需重启,即可看到最新的效果。 但是,一般情况下,对于plugin.xml等文件进行的修改,则必须重新启动debug才可以看到修改的效果。

而使用OSGi的update命令,就可以省去这个麻烦。

首先,在调试启动的时候,需要增加-console参数:

这样在启动后,就可以在eclipse的控制台输入OSGi的命令了:

w我们的插件B,在提供了一个菜单:

 

这个菜单的Label是配置在plugin.xml里的,我们修改一下这个值,然后在控制台输入下面的命令:

 

也可以输入update ,id就是你的插件bundle的id,这里就是760。

可以看到无需重新启动,菜单项已经改变:

 

关于控制台支持的所有命令列表,以及其他命令的使用方式,可以在控制台输入help或者参考文章后面的参考资料。

参考资料

1.

2.

转载于:https://my.oschina.net/dollyn/blog/360637

你可能感兴趣的文章
解决拦截器对ajax请求的的拦截
查看>>
View的三次measure,两次layout和一次draw
查看>>
PostgreSQL流复制热备
查看>>
行业看点 | 超高性能量子计算机现身,成解析复杂算法大杀器
查看>>
人vs机器:无人驾驶汽车真能够取代人类?
查看>>
大数据应用安全研究报告(11家公司实践详解)
查看>>
比特币的潜在最大“杀手”是量子计算机?科学家称,后者强大的计算力将攻破比特币的安全性...
查看>>
MES之殇和工业IOT之春
查看>>
历史画作遭破坏,3D打印和 AI 来帮忙
查看>>
Atom飞行手册翻译: 3.8 编写spec
查看>>
智能健康行业突破不大,却走向“歪路”
查看>>
机器人也有触感了!斯坦福大学开发人工感觉神经系统让蟑螂抽搐
查看>>
5 Reasons Why You Should Try Kibana
查看>>
阿里云网络漏洞扫描系统AVDS(商业化)发布
查看>>
Pam认证模块
查看>>
解决tomcat"Could not reserve enough space for object heap"
查看>>
sersync实现主机实时双向同步
查看>>
卸载并重新配置mysql服务
查看>>
同行的一个案例---删除表,需要恢复
查看>>
python splinter 小坑说明
查看>>