Eclipse环境下开发Felix Bundle并进行调试
1.? 创建Felix启动Bat:
???? 讲Felix解压完毕后,新建Felix.bat文件,用notepad++打开,输入下面内容:
???? cd D:\Felix\org.apache.felix.main.distribution-3.2.2\felix-framework-3.2.2
???? java -jar bin/felix.jar
2.? Eclipse环境下开发Felix Bundle
???? 注:这部分内容乃参照http://felix.apache.org/site/integrating-felix-with-eclipse.html而写。
???? 2.1 创建一个JavaProject:FelixExample
?????????? (1) 选择creat separte source and output folders;
?????????? (2) 改变Default output folder:FelixExample/bin为FelixExample/classes。
??? 2.2 Copy解压后的Felix文件夹目录结构至刚创建的JavaProject下,刷新工程。
??? 2.3 Felix的主JAR文件是bin/felix.jar文件,需将该jar添加至Builde Path下;
????????? 选择felix.ja,右键选择Build Path,在选择Add to build Path。
??? 2.4 创建Felix Debug Configuration(Java Application)
????????? (1) 在运行配置页面(Main Tab页中)选中:Include libaries when searching for a main class;
????????? (2) 单机Main Class中的Searching按钮,在弹出的窗口中输入Main关键字,选择org.apache.main;
????????? (3) 选中Arguments Tab页,添加下面VM参数:
?????????????? -Dfelix.config.properties=file:conf/config.properties
????????? (4) 单击Run,控制台输出Felix。
3. Eclipse下调试Felix Bundle
??? 3.1 开发自己的Bundle
????????? 按照Eclipse的插件向导进行,其中在Target Platfoem中an OSGi Framework选择standard;
??? 3.2 将开发的Plugin Project Export 为Deployment Plug-in fragments至创建的Felix项目下的bundle文件
????????? 夹下(一定是在该文件夹下,默认为bundle下的plugin文件下);当然也可以导出到某个位置再将其拷贝到
????????? 该bundle目录下;
??? 3.3 若要进行调试,可先自己开发的业务逻辑代码中增加断点;
??? 3.4 启动Felix project,进入debug模式,注意确保先前设置的debug configuration正确无误;
?????????这样Felix 将会自动将bundle文件夹下你的bundle运行调试,如果你没有进入调试模式,会提示你进入;
?????????此时,debug会出现找不到源文件,点击Edit Source Lookup Path,在弹出的窗口中选择我add,然后
????????? 选择JavaProject,选择刚才要调试的那个Project 的名称即可。
????????? Eclipse会自动搜索到源文件, 此时如果你的debug窗口中将正常显示了你的源程序,你会发现程序 正停留
????????? 在你设置的断点处等待你调试,这时和调试普通程序没什么区别。
????3.5 如果你对程序进行了修改,那么重新打包一次至于bundle文件夹下,重新启动felix project 进入debug
?????????? 模 式,Felix会自动导入你修改过的bundle。
????3.6 如果要建立多个bundle,重复就行了。
4. 调试时查看Felix源代码
??? 4.1 首先去Felix官网SVN(http://svn.apache.org/repos/asf/felix/)中下载SRC,命名为FelixSRC工程;
??? 4.2 选择调试的项目FelixExample,右键Properties,选择Libraries Tab页,选择
????????? felix.jar下面的Source attachment,zai 在选择WorkSpace,选择工作空间下的FelixSRC工程。
5. 远程调试Felix Bundle
??? 新建脚本:FelixDebug.bat:
??? cd C:\Felix-framework-3.2.2
??? java
??? -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
??? -Xdebug
??? -jar bin/felix.jar
6. 安装PaxRunner
??? http://www.ops4j.org/pax/eclipse/update/
7. 安装M2clipse
??? http://m2eclipse.sonatype.org/sites/m2e/