翻译地址 http://eclipse.org/equinox/documents/quickstart.php
转载自http://blog.csdn.net/zsw2zkl/article/details/8686478
开始使用Equinox
java -jar org.eclipse.osgi_xxx.jar -console一旦你运行了该命令,你就会看到一个osgi>提示,这是OSGI控制台在等你输入命令,击入"?"可以获取命令提示,下面是一些对应开始Equinox最有趣的命令:
Equinox实现极易配置,最常见的配置场景就是让framework自动安装并当他启动时运行一系列的bundles,每次你启动Eclipse都在做这样的事情,下面的就解释他是怎么工作的,还有你怎么使用它.
比方说你有B1.jar和B2.jar,现在你想让他们当启动Equinox时安装并启动.首先创建一下目录和文件
somedir/ configuration/ config.ini org.eclipse.osgi_xxx.jar B1.jar B2.jarconfig.ini 是一个包含下面内容的Java properties文件,要注意osgi.bundles 属性是相当的强大,你可以通过查看doc来获取详细信息.
osgi.bundles=B1.jar@start, B2.jar@start eclipse.ignoreApp=true在命令中增加-configuration <location>即可
在config.ini中我们使用eclipse.ignoreApp=true来告诉Equinox让它不去尝试启动一个Eclipse应用.当然这个配置并不是必须的,但是不加的话会在log中产生错误日志
现在,如果你想让你的操作更简单一些(按照上边的写法,如果由一百多个jar 我们就必须写一百个多XX.jar@start).我们可以增加一些Eclipse bundle 增加后如下
somedir/ configuration/ config.ini org.eclipse.osgi_3.3.0.jar org.eclipse.equinox.common_3.3.0.jar org.eclipse.update.configurator_3.2.100.jar plugins/ B1.jar B2.jar修改config.ini
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start当那个Update configurator bundle启动时,他会字段查找并安装所有在Equinox.jar(即org.eclipse.osgi_3.3.0.jar)旁边的plugins目录下的bundle,注意:只是安装并不启动.
最后,如果你使用3.3或者以上版本,你可以增加equinox launcher到你的configuration目录下.equinox launcher包含3部分:1.本地可执行文件(eclipse.exe)你可以从eclipse安装的根目录下直接拷贝一个过来.2.一个共享库(eclipse_1017.dll),位于plugins/org.eclipse.equinox.launcher.win32.win32.x86,3.launcher.jar(org.eclipse.equinox.launcher_1.0.0.jar)同样在plugins下
somedir/ configuration/ config.ini eclipse.exe plugins/ org.eclipse.equinox.common_3.3.0.jar org.eclipse.equinox.launcher.win32.win32.x86_1.0.0/ eclipse_1017a.dll [other launcher fragment content] org.eclipse.equinox.launcher_1.0.0.jar org.eclipse.osgi_3.3.0.jar org.eclipse.update.configurator_3.2.100.jar B1.jar B2.jar修改config.ini
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start eclipse.ignoreApp=true osgi.noShutdown=true运行eclipse -console即可
当使用equinox时,所有的bundle(包括org.eclipse.osgi)都必须放在eclipse.exe旁边的plugins中.其中equinox launcher默认配置为运行eclipse application.如果eclipse application没有被发现,OSGI framework就会关闭,equinox就会结束.为了阻止这种情况,设置osgi.noShutdown=true