我定义了四个捆绑包:
bundle 1 : export package x version 1
bundle 2 : import package x ver [1,2] and export package y;y uses x
bundle 3 : export package x version 2
bundle 4 : import package y and also import package x version 2
使用 apache felix(可分发二进制文件),我发现我应该手动强加不解决(或启动)捆绑 1,然后在启动捆绑 3 之前捆绑 2(否则会出现使用约束问题,因为捆绑 2 将使用包 x 版本 1并且在捆绑包 4 中将出现包 x 版本 1 和版本 2 --> 使用约束违规)。
感谢这些帖子的作者:http:
//njbartlett.name/2011/02/09/uses-constraints.html
http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses -指示/
我不喜欢对我的包强加命令,我需要复制 /bundle 目录中的所有包,然后安装框架实例并启动它们。我注意到 Apache felix 按字母顺序对要安装的包进行排序(因此将安装包 1,然后首先启动)。我尝试使用 Apache karaf,将我的包复制到 /deploy 中,我发现问题消失了,所以我的问题是:
Apache Karaf(或 felix 文件安装)是否应用策略来强制启动捆绑包的任何顺序以避免此类问题?