Mac Book上Eclipse中OSGi环境搭建及问题汇总

       之前尝试eclipse上搭建OSGi环境及测试。碰到了很多问题,但都逐一解决了。虽然过程有点莫名其妙,匪夷所思,有些问题一直都困扰着我,迟迟无法解决,但是换个方式,居然行的通了(难道是RP问题?)。在借助于他人经验、一波三折、误打误撞、坚持不懈中艰难的解决了遇到的问题。特此记录这个曲折,无奈,执着并最终成功的过程,供后续自己或者他人借鉴,哪怕给别人带来一丁点灵感,也算是善事一件了。

基于网上没有Mac Book中eclipse的OSGi环境搭建,只能照搬相关的内容加以融会贯通,若有其他更好的方式,后续再来补充,今天所记录的只是基于目前我所知所看分享出来的。

  1. 下载OSGi的插件Equinox :

Step1: 找到了OSGi的一个学习网站,根据网站上的内容学习搭建环境(网址:http://www.osgi.com.cn/article/7289228),下载了最新版本:org.eclipse.osgi_3.11.2.v20161107-1947.jar,如下图1下载网址及下载的版本。

图1

Step2: 按照操作步骤(图2)执行命令:java -jar org.eclipse.osgi_3.11.2.v20161107-1947.jar -console 一直(10分钟左右)没有出来osgi>字样,ctrl+z 终止命令(图3),到jar包所在的目录中发现生成了configuration目录,目录中有日志形式的文件打开,发现了错误,如图4.至此了无头绪,无从下手,启动框架失败。尝试了两次,均是同样的错误。

图2

图3

图4

Step3: 既然命令启动框架失败,转战到eclipse中安装看看是否可行。打开eclipse,按照网上的操作步骤,macbook的Eclipse中,没有window->preferences界面以及Plug-in Development下的Target Platform。找到macbook的Eclipse下的Window->Show View->Other中有Plug-in Development,点开后发现有OSGi的jar包,说明此Eclipse种集成了OSGi的开发插件,只要安装,部署就应该可以。

Step4:在Run->Run Configurations里面新建一个New_configuration,在Bundles下面找到osgi的Target Platform,点击Run,然后在控制台console里面,一堆Could not find bundle:org.eclipse.XXX以及Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini)错误。无奈,度娘上寻求答案,得知could not find哪些包,把哪些包选上,重新run即可。按照步骤,尝试了好多次,控制台一直报错,始终出现不了正确的osgi>字样,无奈,另辟它径吧。

Step5:新建一个工程,检查工程是否可以正常运行吧,于是乎就在网上(http://blog.csdn.net/wanghuan203/article/details/13631713)找了相关的步骤,从最简单的hello world开始吧。按照步骤开发工程的时候,需要导入osgi jar包。

如下图:右键单击包引用的包文件,Build Path->Configure Build Path,选择之前下载的jar包。

Step6:新建java文件,码好相关测试代码,选择Run->Run Configurations,选中新建的工程(我新建的名称是:HelloAnmy),选择运行的org.eclipse.osgi(XXX),点击Run,出现如下错误,发现跟之前在终端使用命令运行的错误一致,继续向度娘寻求帮助。找到了解决方法,并最终运行成功。

错误提示:

网上解决方法:

解决后运行结果:(终于柳暗花明又一村)

后记:环境问题算是解决了,但是又出现了一个诡异所思的问题,我的测试代码如下,但是上图的运行结果,osgi>start 7(或者stop 7)的时候,为什么没有在控制台出现我在代码中添加的打印语句。但是HelloAnmy的Bundle的状态是正确的啊,说明已经正常运行了,那么打印语句去哪了?度娘上也没找到相关的答案。本想着柳暗花明又一村了,结果还没到村子里面,遇到了一条河,真是好事多磨啊,究竟如何渡过这条河呢?若后续有了解决方法,再补充说明吧。。

 

你可能感兴趣的:(环境相关)