尽管版本匹配

时间:2016-06-21 05:43:48

标签: osgi version

我的构建抱怨缺少依赖:

... requires bundle org.eclipse.ui [3.106.0,4.0.0)' but it could not be found

使用过的目标平台指向包含以下JAR的P2位置:org.eclipse.ui_3.106.0.v20140812-1751.jar

构建失败并提出以下两个问题:

  1. 我认为3.106.0.v20140812-1751会在[3.106.0,4.0.0)范围内,是不是真的?
  2. OSGi如何处理版本的第四部分?如果3.106.0是有效版本,那么OSGi如何理解后缀.v20140812-1751
  3. 对OSGi版本控制的良好解释的链接也将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

  

我认为3.106.0.v20140812-1751会在[3.106.0,4.0.0]的范围内,是不是真的?

是的,这是真的。

  

OSGi如何处理版本的第四部分?如果3.106.0是有效版本,那么OSGi如何理解后缀.v20140812-1751?

第四部分只是一个与其他部分一样的部分,除了它按字母数字排序而不是纯粹作为数字。具体算法为String.compare(),因此您应该阅读该方法的标准JavaDocs以获取完整的详细信息。该段称为“限定符”

在版本3.106.0.v20140812-1751中,限定符为v20140812-1751。在版本3.106.0中,限定符是空字符串。当String.compare()的JavaDocs确认时,任何非空字符串在空字符串后排序。