osgi> help
Valid commands:
---Controlling the OSGi framework---
launch - start the OSGi Framework
shutdown - shutdown the OSGi Framework
close - shutdown and exit
exit - exit immediately (System.exit)
init - uninstall all bundles
setprop <key>=<value> - set the OSGi property
---Controlling Bundles---
install - install and optionally start bundle from the given URL
uninstall - uninstall the specified bundle(s)
start - start the specified bundle(s)
stop - stop the specified bundle(s)
refresh - refresh the packages of the specified bundles
update - update the specified bundle(s)
---Displaying Status---
status [-s [<comma separated list of bundle states>] [<segment of bsn>]] - display installed bundles and registered services
ss [-s [<comma separated list of bundle states>] [<segment of bsn>]] - display installed bundles (short status)
services {filter} - display registered service details
packages {<pkgname>|<id>|<location>} - display imported/exported package details
bundles [-s [<comma separated list of bundle states>] [<segment of bsn>]] - display details for all installed bundles
bundle (<id>|<location>) - display details for the specified bundle(s)
headers (<id>|<location>) - print bundle headers
log (<id>|<location>) - display log entries
---Extras---
exec <command> - execute a command in a separate process and wait
fork <command> - execute a command in a separate process
gc - perform a garbage collection
getprop { name } - displays the system properties with the given name, or all of them.
---Controlling Start Level---
sl {(<id>|<location>)} - display the start level for the specified bundle, or for the framework if no bundle specified
setfwsl <start level> - set the framework start level
setbsl <start level> (<id>|<location>) - set the start level for the bundle(s)
setibsl <start level> - set the initial bundle start level
---Controlling the Profiling---
profilelog - Display & flush the profile log messages
---Eclipse Runtime commands.---
diag - Displays unsatisfied constraints for the specified bundle(s).
---Controlling the Console---
more - More prompt for console output
逐个命令来执行看看效果
一、ss命令:查看所有的插件的运行状态:
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 ACTIVE myFirstEquinoxExample_1.0.0
//ss命令是查看所有的插件的运行状态
二、shutdown命令:停止OSGI整个框架:
osgi> shutdown
已经成功将这个插件停止/卸载了
osgi> ss
Framework is shutdown.
id State Bundle
0 RESOLVED org.eclipse.osgi_3.3.0.v20070530
406 INSTALLED myFirstEquinoxExample_1.0.0
//可以看到 shutdown 命令将整个OSGI都停用了,所有的 插件的状态都已经 不是 Active 状态了,//RESOLVED状态表示已经卸载,处于待命状态,可以随时通过 start 指定的ID 唤醒插件状态
三、launch命令:启动OSGI整个框架:
osgi> launch
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 RESOLVED myFirstEquinoxExample_1.0.0
osgi>
//这时发现只有org.eclipse.osgi_3.3.0.v20070530这个插件已经启动了,其他的插件还处于 //RESOLVED 状态,这时我们可以通过 stop 命令来停止指定的插件
四、install命令:安装指定路径的插件:
为了测试这个功能,我们在新建一个 Equinox 项目,然后右键 "导出" -> "插件开发" -> "可部署插件和功能段" -> "下一步" ->
在这里我们选择导入到 C: 盘,完成
在控制台输入插件的完整路径
osgi> install file:///C:/plugins/mySecondEquinoxExample_1.0.0.jar
Bundle id is 407
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 RESOLVED myFirstEquinoxExample_1.0.0
407 INSTALLED mySecondEquinoxExample_1.0.0
//可以看到 OSGI 分配了一个ID 给 mySecondEquinoxExample 这个项目,并使他处于已经安装的状态
五、uninstall命令:卸载指定的插件
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 RESOLVED myFirstEquinoxExample_1.0.0
407 ACTIVE mySecondEquinoxExample_1.0.0
osgi> uninstall 406
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
407 ACTIVE mySecondEquinoxExample_1.0.0
//可以发现 myFirstEquinoxExample 这个项目已经被移除了
六、start命令:启动指定插件
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 RESOLVED myFirstEquinoxExample_1.0.0
407 INSTALLED mySecondEquinoxExample_1.0.0
osgi> start 407
这是的又一个OSGI的例子
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
406 RESOLVED myFirstEquinoxExample_1.0.0
407 ACTIVE mySecondEquinoxExample_1.0.0
七、stop 命令: 停止插件命令
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
407 ACTIVE mySecondEquinoxExample_1.0.0
osgi> stop 407
已经成功将第二个插件停止/卸载了
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
407 RESOLVED mySecondEquinoxExample_1.0.0
八、update命令:更新指定的插件
为了测试这个命令,我现在将第二个插件中的内容进行更新,然后在导出到刚才哪个位置
osgi> update 407
osgi> ss
Framework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.3.0.v20070530
407 INSTALLED mySecondEquinoxExample_1.0.0
osgi> start 407
这个本来是第二个插件的,现在内容进行了更新!
看见没有,数据已经更新了!