目前,我正在尝试实现OSGI版本范围(针对另一个主题,但是我喜欢它们定义版本范围的方式)。但是,我很难在OSGI中找到版本范围的特定定义。
不幸的是,OSGI
API确实包含Version类,但不包含VersionRange类。似乎所有OSGI容器都提出了自己的(某种程度上无法找到)版本范围定义的解释。
因此,我有几个问题:
versionRange=1.4.0
,此映射是否会映射到Version> = 1.4.0?versionRange=[1.0.0,0]
:我会说是(1.0.0版到任何版本),Eclipse实现接受它为一个版本,但不能正确处理它。
versionRange=[1.0.0,0)
吗?版本范围在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
where x >= 1.0.0
和中的 版本x<=0
。没有价值的x
,可以同时满足这些要求。因此,听起来Eclipse的行为正确……应该可以成功解析范围字符串,但绝不返回任何结果。
如前所述,如果您正在阅读文档的R4.3版本,则“真相来源”是OSGi核心规范的第3.2.6节....第29页。
使用1.01.0等捆绑版本合法吗?找不到有关如何工作的任何信息。我使用OSGI的Apache Felix实现。
版本号 采用三位版本号,分别是主版本号、次版本号、修订版本号。例如 1.0.0。 参见: http://semver.org/lang/zh-CN/ 主版本号:主版本号内的所有版本必须相互兼容;与其它主版本号不一定完全兼容,尽量向下兼容。 次版本号:代表新特性增强。版本号越大特性越丰富。 修订版本号:代表BugFix版本。只做bug修复使用,版本号越大越稳定。 版本维护 最多同时维护两个版本。 例
软件的版本号由以下4部分组成: 主要版本号.次要版本号.版本状态码[.修订号] 应根据下面的约定使用这些部分: 主要版本:主要版本号不同,意味着本版本进行了大幅的本质修改,并且可能出现不同版本不兼容的问题。 次要版本:次要版本号不同,意味着功能的显著增强,但考虑了向后兼容性。 版本状态码:版本状态码包含了对当前版本的一些描述。它具体包含了以下信息: 发布状态。 0: 计划版(planned):计
我使用的是Maven3.6。 感谢帮助
在OSGi bundles中,用一个版本号导出和导入包。包仍然定义了一个版本。这在我看来是多余的。
列出dataListWidget(AsyncSnapshot快照){return snapshot.data.docs[0].map((文档){return ListTile(标题:Text(文档[“Name]”),副标题:Text(文档[“City”]),;})。toList();} //我的streamBuilder StreamBuilder(流:firestore.collection('