A bundle is a group of Java classes and additional resources equipped with a detailed manifest
on all its contents, as well as additional services needed to give the included group of Java
classes more sophisticated behaviors, to the extent of deeming the entire aggregate a
component. 但它还是一个JAR文件。
1. Bundle Version,Bundle Manifest Version,Mainfest Version
(1)Bundle Version:每个Bundle都有一个版本,默认为:0;
(2)Bundle Manifest Version:对OSGi 3而言是:1,对OSGi4而言是:2;
(3)Mainfest Version:是JAR文件规范对JAR文件的要求。
2. OSGI MANIFEST HEADERS
(1) Bundle-Name: Bundle的一个简单的名字;
(2) Bundle-Description: Bundle的一个简单描述;
(3) Bundle-Version: 每个Bundle都有一个版本,默认为:0;
(4) Bundle-Activator: 指定一个当Bundle Activated时调用的类;
(5) Export-Package: 指定当前Bundle中那些Package可被Bundle外使用;
(6) Import-Package: 指定当前Bundle需要从外面获取的资源已满足自己的依赖;
3. SpringDM提供的Header
SpringExtender-Version: 1.1.0
默认情况下,当SpringDM extender安装后,SpringDM将检查每一个Bundle,而该HEader将允许应用Bundle
改变SpringDM该行为,即只有当一个确定版本的SpringDM extender存在时才执行该检查和处理的过程。
4. VTS提供的Header
(1)Application-Version:只用于PAR文件中MANIFEST.MF配置;
(2)Application-SymbolicName:该Header与Application-Version联合起来确保VTS中没有相同的PAR文件;
(3)Library-SymbolicName: org.aspectj
(4)Library-Version: 1.6.1
(5)Library-Name: Aspect
(6)Import-Bundle:
com.springsource.org.aspectj.runtime;version="[1.6.1 ,1.6.1]",
com.springsource.org.aspectj.weaver;version="[1.6.1, 1.6.1]"
(7)Import-Library: org.aspectj;version="1.6.1"
分享到:
相关推荐
3. **检查捆绑包**:确认所有依赖的捆绑包都已正确安装且符合版本要求,确保它们的元数据(MANIFEST.MF文件)正确无误。 4. **清理缓存**:运行"del-osgi-cache.bat"脚本,清除可能存在的旧或损坏的捆绑包状态。 5. ...
在MANIFEST.MF文件中,定义Bundle-SymbolicName和Bundle-Version属性,以标识bundle的唯一性和版本。 3. **导入导出包**:在MANIFEST.MF中,声明bundle需要导入和导出的包。导入表示对其他bundle的依赖,导出表示向...
- Manifest 文件:每个 Bundle 都有一个包含元数据的 MANIFEST.MF 文件,用于声明 Bundle 的依赖和其他信息。 - `Import-Package`:声明 Bundle 需要的外部包。 - `Export-Package`:声明 Bundle 提供给其他 ...
当bundle启动时,OSGI框架会解析其MANIFEST.MF文件中的元数据,识别出依赖的其他bundle,并确保这些依赖项已启动并可用。 在OSGI中,bundle的依赖关系主要通过MANIFEST.MF文件来定义。这个文件包含了bundle的基本...
1. **配置管理**:理解和掌握Bundle的配置元数据,如MANIFEST.MF文件,是使用OSGI的关键。 2. **服务设计**:合理设计服务接口,避免过度耦合,提升服务的可重用性。 3. **依赖管理**:学会利用OSGI的依赖注入机制...
- **导出相应的包:**还需要在`MANIFEST.MF`文件中通过`Export-Package`指令导出相应的包,以便其他Bundle能够访问这些服务。 以上内容为Spring OSGi入门的基本知识点,涵盖了Spring DM的基础概念、配置方法以及...
3. 开发Bundle:讲解Bundle的生命周期,如何编写Bundle的元数据(MANIFEST.MF),以及Bundle内代码的组织结构。 4. 开发、发布和使用Service:介绍OSGI服务的概念,如何定义、注册服务,以及服务消费者如何查找和...
7. MANIFEST.MF 文件:MANIFEST.MF 文件是 OSGi 框架中的一个配置文件,用于配置 Bundle 的 metadata。 8. components.xml 文件:components.xml 文件是 OSGi 框架中的一个配置文件,用于配置 OSGi 服务。 9. Web ...
- **依赖管理**:通过MANIFEST.MF文件声明bundle的依赖,避免了类路径冲突。 - **版本控制**:支持多版本共存,每个bundle可以指定其依赖的特定版本。 - **动态性**:bundle可以动态地加入或离开系统,增强了软件...
1. **Bundle基础知识**:一个OSGi bundle本质上就是一个遵循特定规范的JAR文件,其中包含了MANIFEST.MF文件。这个文件包含了关于bundle的重要元数据,如Bundle-SymbolicName、Bundle-Version和Export-Package等。...
在OSGI中,bundle是基本的单元,类似于普通的jar文件,但包含了一个MANIFEST.MF文件,该文件包含了关于bundle的重要信息,如元数据、依赖关系和bundle的行为。MANIFEST.MF文件使得OSGI框架能够理解并管理每个bundle...
在OSGi环境中,MANIFEST.MF文件用于定义模块的导出和导入包,以及服务的元数据。 - ch:这个目录可能包含了R-OSGi的源代码或者库文件,"ch"可能代表瑞士(Switzerland),因为很多开源项目喜欢以国家代码作为项目名...
- **开发OSGi应用**:开发者在创建OSGi bundle时,需要编写和管理MANIFEST.MF文件,osgi-manifest库能简化这一过程。 - **构建工具集成**:构建工具(如Maven的maven-bundle-plugin)可以利用此库来生成和验证...
- 修改`MANIFEST.MF`文件,导入必要的包,如`javax.servlet`、`javax.servlet.http`、`org.osgi.service.http`和`org.osgi.util.tracker`。 - 在插件目录下创建`helloworld.html`,内容用于显示“Hello From hello...
压缩包中的`META-INF`目录通常包含与Java类加载器和OSGi框架相关的元数据,如MANIFEST.MF文件。这个文件描述了包的元数据,包括它的依赖、导出的包(服务)、导入的包(依赖的服务)以及其它配置信息。正确配置...
开发者可以通过编写Manifest.MF文件来定义Bundle的元数据,包括其依赖关系、导出和导入的包等。此外,Eclipse Marketplace和其他插件库提供了丰富的OSGI插件,使得开发者可以轻松地增强Eclipse的功能。 "OSGI实战...
关于源码层面,理解OSGi的关键在于掌握其元数据描述文件——MANIFEST.MF。这个文件包含了bundle的元数据,包括版本、依赖、导出和导入的包等信息。通过编辑MANIFEST.MF,开发者可以精确控制bundle的行为。 工具方面...
每个OSGi Bundle都有一个MANIFEST.MF文件,其中定义了Bundle的基本信息,如版本、依赖和其他元数据。例如,`osgi.impl` Bundle的MANIFEST.MF可能声明了对某些库或API的依赖,并指定了Bundle的激活类。 3. **定义...