开始Equinox 官方翻译+个人解释

来源:互联网 发布:淘宝电子面单平台 编辑:程序博客网 时间:2024/04/30 01:02

翻译地址 http://eclipse.org/equinox/documents/quickstart.php

转载自http://blog.csdn.net/zsw2zkl/article/details/8686478

开始使用Equinox

Equinox OSGI框架实现构成了Eclipse RCP和IDE平台的基础,但是其实他是一个完全独立的OSGI的一个实现.你既可以在这里下载org.eclipse.osgi JAR来运行Equinox,也可以在你的Eclipse安装文件即$Eclipse_home$/plugins/中找到一个类似org.eclipse.osgi_xxx.jar的jar包来运行.一旦你有了该jar,在命令行中使用下面的命令
java -jar org.eclipse.osgi_xxx.jar -console
一旦你运行了该命令,你就会看到一个osgi>提示,这是OSGI控制台在等你输入命令,击入"?"可以获取命令提示,下面是一些对应开始Equinox最有趣的命令:
install <bundle URL> 例如:install:file///:c:/a.jar
start    <bundleID 或者name>
stop    <bundleID 或者name>
ss       <bundleID 或者name> 列出所有bundle 就像windows下的dir和linux下的ls一样
diag    <bundleID 或者name> 可以查看任何解析错误,比如某个bundle的状态不是预期的那样,就可以通过该命令来查看

译者注:通过以上命令就可以手动安装各个bundle ,并且在你第二次启动时恢复上次运行时的状态

使用配置启动Equinox

Equinox实现极易配置,最常见的配置场景就是让framework自动安装并当他启动时运行一系列的bundles,每次你启动Eclipse都在做这样的事情,下面的就解释他是怎么工作的,还有你怎么使用它.

比方说你有B1.jar和B2.jar,现在你想让他们当启动Equinox时安装并启动.首先创建一下目录和文件

somedir/  configuration/    config.ini  org.eclipse.osgi_xxx.jar  B1.jar  B2.jar
config.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




原创粉丝点击