如何定义OSGi捆绑包的开始级别?
我正在使用Apache
felix,并希望在框架执行过程中保持起始级别。我预计Manifest中的条目根本不需要非常频繁地更改bundle的开始级别。MF似乎是最明智的。我已经到org.osgi.framework.startlevel了,但是还没有看到实际的例子。
如果有一种巧妙的方法将起始级别并入POM,那么我也将maven与maven-bundle-plugin一起使用。
捆绑包没有在构建时定义它们自己的开始级别; 将 捆绑软件 安装 到框架中的管理员或代理对其进行定义。
核心框架在第8节中定义了一个 Start Level 接口。
起始级别API提供以下功能:
控制OSGi框架的开始启动级别。
用于修改框架的活动启动级别。
可用于为捆绑包分配特定的开始级别。
可以为新安装的捆绑包设置初始启动级别。
最后两个与您的查询有关。第8.3.4节“ 更改捆绑包的开始级别” 指示框架将永久存储分配的开始级别。
如果您使用的是Apache Felix,则可以通过多种方式安装捆绑软件并指定其启动级别,无论是显式还是通过允许它们继承已安装捆绑软件的默认启动级别:
felix.fileinstall.start.level
属性,尽管不是 按捆绑销售 )felix.auto.install.<n>
属性)bundlelevel
命令)另外,请参阅felix.startlevel.bundle
属性,该属性控制通过上述以外的方法安装的软件包。
至于设置清单属性(例如在构建时使用Maven),在Equinox中曾经有一种方法(现在已弃用),但是没有标准方法可让捆绑包向框架指示其正确的开始级别应该。
我有两个捆绑说A和B。A 依赖于 B(在 A 的 MANIFEST 中指定为 Required-Bundle:B)。 现在我安装两个A, B包一个接一个(c 我从异常中了解到捆绑包B尚未启动(已解决)。现在如何解决这个问题呢? 解决这个问题的唯一方法是排序包 顺便说一下,我用的是春分。
我正在开发超文本传输协议客户端应用程序作为一个OSGI捆绑项目,我已经使用apache maven创建项目文件夹结构使用下面的命令。 上面的命令创建了项目文件夹结构,因为我使用的是基于httpclient的应用程序。我在pom中添加了依赖项。xml如下所示。 我执行以下命令, 根项目上进行构建 它在本地maven存储库中创建了所需的jar文件。 问题从这里开始。我试图在ApacheServiceM
我使用EclipseIndigo使用OSGiJava框架开发了一些包。有一个主捆绑包,它依赖于其他捆绑包,并且具有要运行的主程序。如果我尝试在Eclipse中运行所有捆绑包,一切都正常工作,但是如果我将每个捆绑包保存为一个JAR,并在命令行中启动OSGi框架,当我尝试启动主捆绑包时,会出现异常<code>NoClassDefFoundError。找不到的类是依赖项。包的其余部分处于活动状态,主包刚
问题内容: 如何从jar库创建OSGi捆绑包? 问题答案: 如果您使用的是eclipse:有一个向导。 它允许您选择许多jar库,并创建一个包含这些jar的插件项目(即OSGi捆绑包)。 你可以在这里找到它:
我正在将我的spring-java项目转移到OSGi。 我有一些依赖项,这些依赖项在spring ebr repo或maven repo中不能作为包提供。处理它们的最佳方法是什么? null
我在试图限制OSGi捆绑包可以执行的操作时遇到了一个问题。根据我阅读的文档,OSGi捆绑包的权限应该在OSGi-INF/permissions中设置。perm文件位于bundle的JAR中。然而,无论我在该文件中写了什么(无论该文件是否存在),bundle似乎都拥有所有权限。更具体地说,我使用命令行启动OSGi 然后我用命令安装捆绑包 和启动它。当我试图执行一个操作t