版本范围在OSGi核心规范的3.2.6节中 进行了
精确定义。您是正确的
VersionRange,尽管在下一个规范版本中将有当前类,但当前API中没有类。
OSGi框架实现并 没有 对范围进行自己的解释。如果您发现某个特定框架对范围的解释与《核心规范》第3.2.6节有所不同,请针对该框架提出错误。
要解决您的特定问题:
是的,
version=1.4.0
在上import-Package
(或bundle-version=1.4.0
上Require-Bundle
)确实非正式地映射到“版本> = 1.4.0”。我相信这两个版本范围都是有效的,但它们永远不会匹配任何版本。例如,第一个示例将仅匹配
x
wherex >= 1.0.0
和中的 版本x<=0
。没有价值的x
,可以同时满足这些要求。因此,听起来Eclipse的行为正确……应该可以成功解析范围字符串,但绝不返回任何结果。如前所述,如果您正在阅读文档的R4.3版本,则“真相来源”是OSGi核心规范的第3.2.6节....第29页。



