我的构建抱怨缺少依赖:
... 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
构建失败并提出以下两个问题:
3.106.0.v20140812-1751
会在[3.106.0,4.0.0)
范围内,是不是真的?3.106.0
是有效版本,那么OSGi如何理解后缀.v20140812-1751
?对OSGi版本控制的良好解释的链接也将受到高度赞赏。
答案 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确认时,任何非空字符串在空字符串后排序。