如下内容参考《OSGi and Apache Felix 3.0 Beginner's Guide》,做为本身的学习记录。java
在OSGi框架中,bunlde做为其模块化实体,咱们把bundle做为一个project进行开发。api
开发:框架
1. 使用maven默认的文件结构做为bunlde的文件结构:maven
2. 在com.packtpub.felix.bookshelf-inventory-api目录下有pom.xml文件。该文件用于存放bundle的相关信息,maven和felix用这些信息构建bundle。ide
3. 项目的java文件存放于src/main/java目录下。模块化
部署学习
1. 首先确保安装好maven,将下载好的maven文件进行解压,而后在环境变量的path中添加解压文件中bin文件路径便可。在命令行用指令mvn -version检查是否安装成功。ui
2.进入到bundle文件目录,即com.packtpub.felix.bookshelf-inventory-api目录。用指令mvn clean deploy进行build和部署。spa
3. 成功部署后会生成项目release文件夹,里面的repository.xml文件做为bundles的仓库,Felix经过它对bundles进行访问。命令行
安装到Felix
1. 向OBR服务注册项目的repository:
repos add file:///C:/projects/felixbook/releases/repository.xml
2. 查看注册repository的bundles(用于检查是否注册成功,book做为bundles名字的过滤条件):
list book
3. 该bundle位于框架中第2级,所以设置初始化组件级为2,框架级为2。即框架从会第二级开始启动。
bundlelevel -i 2
frameworklevel 2
4. 安装并启动bundle
deploy -s "Bookshelf Inventory Impl - Mock"
5. 查看bundles,能够看到安装的bundles被启动
至此,bundle的部署、安装完成。