应用程序清单文件包含使 OSGi 框架能够处理捆绑软件的模块化方面的元数据。
Manifest-Version: 1.0
Application-Name: OSGi Blog Application
Application-SymbolicName: com.ibm.ws.eba.example.blog.app
Application-Version: 1.0.0Application-Content: com.ibm.ws.eba.example.blog.api;version=1.0.0,
com.ibm.ws.eba.example.blog.persistence;version=1.0.0,
com.ibm.ws.eba.example.blog.web;version=1.0.0,
com.ibm.ws.eba.example.blog;version=1.0.0,
com.ibm.json.java;version="1.0.0"
Application-ManifestVersion: 1.0
Application-ImportService: com.ibm.ws.eba.counter.Greet
Application-ExportService: com.ibm.ws.eba.example.blog.api.BloggingService
OSGi 应用程序的唯一符号名称,它使用与 Java™ 类似的软件包表示法。
应用程序的版本,它使用适用于捆绑软件的 OSGi 语法。
这是应用程序的名称.
为捆绑软件解决方案声明 OSGi 框架所使用的捆绑软件的外部依赖关系。可针对每一个服务声明特定版本或版本范围。
应用程序所耗用的适用于外部服务的一组过滤器。应用程序清单必须包含服务所需的类。 如果未指定此头,那么将不导入任何必需的服务。
<service identifier>;<directives>;<attributes>
例如:test.it;filter="some_filter"
Application-ImportService 头具有下列属性:声明在捆绑软件外部可视的服务。此处未声明的任何服务仅在捆绑软件中可视。
应用程序所产生的适用于外部服务的一组过滤器。如果未指定此头,那么将不导出任何必需的服务。
<service identifier>;<directives>;<attributes>
例如:test.it;filter="some_filter"
Application-ExportService 头具有下列属性:为应用程序捆绑程序提供至少一个软件包的共享捆绑软件。
捆绑软件或组合捆绑软件的列表,它们用于满足 Application-Content 列表中的捆绑软件的包依赖性。Use-Bundle 列表中的每个捆绑软件或组合必须为 Application-Content 列表中的至少一个捆绑软件提供至少一个包。在运行时,会将这些捆绑软件供应到共享捆绑软件空间中。
通常不需要 Use-Bundle 头,但该头在有些情况下很有用。可以使用它来限制可以进行共享的级别。例如,您可以确保应用程序对其已测试的包导入使用相同的捆绑软件。或者,可以确保两个应用程序将同一捆绑软件用于软件包导入。通过在应用程序级别设置该限制,捆绑软件可以保持灵活性。
应用程序中所包括的非 OSGi 动态 Web 项目的列表。
此头不是 OSGi 标准的一部分。
<module identifier>;<directives>;<attributes>
通常,模块标识是捆绑软件的符号名称。要引用不在捆绑软件内的资源,模块标识是相对于 OSGi 应用程序根目录的路径。
Application-Content 头定义组成业务服务的重要应用程序,但是它不定义应用程序中捆绑软件的完整列表。 如果内容中所列的某个捆绑软件使用未包括在应用程序内的软件包,那么将执行依赖关系分析并包括任何缺少的捆绑软件。 这些捆绑软件不能向应用程序外部提供服务并且不能向这些服务应用安全性。通过这种机制包括的捆绑软件已共享。