1.1 OSGi框架
OSGi框架规范中定义了框架的正确行为;而核心框架可有多种实现方式。
OSGi框架是根据OSGi规范中定义的三个概念层设计的:
1.1.1 1)模块层
模块层关注于打包、共享代码。
模块层定义了OSGi模块的概念(bundle,即包含一个元数据MANIFEST.MF的JAR文件)。
bundle比标准JAR文件更强大,它可以声明哪些包对外可见(Export-Package);所以说它扩展了Java的访问修饰符。
bundle还可以明确声明依赖哪些外部包(Import-Package),这样就可以自动地管理和验证依赖包的一致性(这个过程称为bundle解析),确保了bundle版本和其他方面约束的一致性。——这样就能清楚地看到类路径上有什么,不用到处搜寻文档了!
基于已有的JAR文件构建OSGi bundle是一个非侵入式的过程,只需要添加MANIFEST.MF:
1. //MANIFEST.MF
2. Bundle-ManifestVersion:2
3. Bundle-Name:Greeting API
4. Bundle-SymbolicName:com.alpha.interface
5. Bundle-Version:1.0
6.
7. //导入包,
8. Import-Package:org.log4j;version="2.0",
9. .....