MANIFEST.MF和feature.xml版本控制规则

我永远忘记了OSIF插件和功能的 MANIFEST.MF和feature.xml中的依赖项声明的规则是什么。 谷歌搜索经常导致沮丧而不是答案。 所以,因为今天我实际上找到了这些规则的简要列表,所以我想在这里重新发布它们,并进行一些小的修改以帮助阐明。

OSGi插件版本范围

对包和软件包的依赖项具有关联的版本范围,该版本范围使用间隔符号指定:方括号“ [”或“]”表示范围的包含端,而圆括号“(”或“)”表示排除端的范围。 如果范围的一端包括在内而另一端不包括在内,则允许将圆括号与方括号配对。 下面的示例清楚地说明了这一点。

如果在需要版本范围的地方使用了单个版本号,则这并不表示单个版本,而是范围从该版本开始,包括所有更高版本。

常见的情况有四种:

  • “严格”版本范围,例如[1.2.3,1.2.3],它表示该版本,并且仅表示该版本。
  • “半开”范围,例如[1.2.3,2.0.0),具有包含下限和专有上限,表示版本1.2.3和此后的任何版本,但不包括以下内容:版本2.0.0。
  • “无边界”版本范围,例如1.2.3,表示版本1.2.3和所有更高版本。
  • 没有版本范围,表示可以接受任何版本。 不推荐

可以在此处 ( 或以PDF格式 ) 查看以上代码段的 全文 。

例:

Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)", org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)", org.eclipse.ui.navigator;bundle-version="3.5.100", com.ibm.icu

也可以看看:

  • 插件清单 t(plugin.xml)
  • osgi捆绑清单 (MANIFEST.MF)

在功能清单(feature.xml)规则方面, help.eclipse.org具有非常好的文档,但是要记住的最重要的内容以及我经常要查找的内容是如何陈述所需上游功能的匹配规则和插件。 经验表明,最好明确声明事物,这样就无需进行下游猜测,并且阅读清单的人都确切知道您的功能所需要的版本或与您的功能兼容的版本。 另外,虽然您可能正在使用PDE UI进行构建,但是其他人可能正在使用Tycho和Maven,并且每种工具都可以以自己的方式解释丢失的元数据。

如有疑问,请说清楚。

有效值和处理如下:

  • 如果未指定version属性,则忽略match属性(如果已指定)。
  • 完美 –依赖的插件版本必须与指定版本完全匹配。 如果“ patch”为“ true”,则假定为“ perfect”,并且无法设置其他值。 [1.2.3,1.2.3]
  • 等效 –依赖的插件版本必须至少为指定的版本或更高的服务级别(主要和次要版本级别必须等于指定的版本)。 [1.2.3,1.3)
  • 兼容 –依赖的插件版本必须至少为指定的版本,或者为更高的服务级别或次要级别(主版本级别必须等于指定的版本)。 [1.2.3,2.0)
  • GreaterOrEqual –依赖的插件版本必须至少为指定的版本,或者更高级别的服务(次要或主要级别)。 1.2.3

上面的摘录的全文可以在这里看到 。

例:

<requires><import feature="org.eclipse.m2e.feature" version="1.0.0" match="compatible"/><import feature="org.maven.ide.eclipse.wtp.feature" version="0.13.0" match="greaterOrEqual"/><plugin id="ch.qos.logback.classic" version="0.9.27.v20110224-1110" match="greaterOrEqual"/><plugin id="ch.qos.logback.core" version="0.9.27.v20110224-1110" match="greaterOrEqual"/><plugin id="ch.qos.logback.slf4j" version="0.9.27.v20110224-1110" match="greaterOrEqual"/><plugin id="org.slf4j.api" version="1.6.1.v20100831-0715" match="compatible"/><plugin id="com.ning.async-http-client" version="1.6.3.201106061504" match="equivalent"/><plugin id="org.jboss.netty" version="3.2.4.Final-201106061504" match="perfect"/><plugin id="org.hamcrest.core" version="1.1.0.v20090501071000" match="equivalent"/>
</requires>

参考: DivByZero博客上的JCG合作伙伴 Nick Boldt的MANIFEST.MF和feature.xml版本控制规则 。


翻译自: https://www.javacodegeeks.com/2012/04/manifestmf-and-featurexml-versioning.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程桌面连接时无法访问远程计算机的计算机属性提示系统调用失败,远程过程调用失败【应对技巧】...

喜欢使用电脑的小伙伴们一般都会遇到win7系统远程过程调用失败的问题&#xff0c;突然遇到win7系统远程过程调用失败的问题就不知道该怎么办了&#xff0c;其实win7系统远程过程调用失败的解决方法非常简单&#xff0c;按照1&#xff1a;第一步我们可以看到sql server数据库出现…

MVC View显示详解(RenderBody,RenderPage,RenderSection,Partial)

一、Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 RenderBody 当创建基于_Layout.cshtml布局页面的视图时&#xff0c;视图的内容会和布局页面合并&#xff0c;而新创建视图的内容会通过_Layout.cshtml布局页面的RenderBody()方法呈现在标签之间。 RenderPage从…

如何在Windows系统下安装多个Redis实例

如何在Windows系统下安装多个Redis实例 转载于:https://www.cnblogs.com/xiaohui1990/p/5505944.html

注册表中shell文件不见了_win7系统注册表中的shell文件不小心被删除的解决方法...

我们在操作电脑的时候,win7系统注册表中的shell文件不小心被删除的问题对于我们来说其实是比较少见的&#xff0c;一般情况下的正常使用都不会遇到win7系统注册表中的shell文件不小心被删除的状况。但在win7系统中如果由于我们个人的不当操作导致win7系统注册表中的shell文件不…

库卡机器人C4计算机无法启动,KUKA-C4标准版机器人启动时序

描述1.T1模式下选择CELL程序&#xff0c;手动执行程序&#xff0c;注意中间路径&#xff0c;有时机器人不在HOME点附近&#xff0c;回原点的过程中需慢速运行&#xff0c;直至到达BCO。2.松开执行键&#xff0c;重新按下&#xff0c;信息栏出现“运行方式错误”提示&#xff0c…

ADF:将UI类别与动态表单一起使用

JDev 11g R2具有有趣的新功能“ UI类别”。 它使我们可以在视图对象定义级别上以声明方式对VO的属性进行分组。 例如&#xff0c;我的VEmployees视图对象的“ UI Categories”选项卡如下所示&#xff1a; 默认情况下&#xff0c;每个视图对象都有一个预定义的类别“默认”。 我…

Exchange超级实用命令行

发现Powershell很强大以后&#xff0c;就欲罢不能了。来点干货 有PST文件的没有成功导出&#xff0c;原因是执行时会报错&#xff0c;说需要64位Outlook&#xff0c;dotnet4.5以上环境。还有说法是Exchange2010开始不支持PST导入导出。 整理了一下最近尝试比较实用的命令&#…

位数不足前面补0mysql语句_全网热议:监控补光灯爆亮闪瞎眼!你遇到过吗?

唔知大家有无咁ga体会每当夜晚揸车经过一排监控补光灯瞬间像“瞎子”那样看不到东西&#xff0c;“威力”堪比远光灯(△ 11月12日晚&#xff0c;安定门外大街&#xff0c;主路上的监控补光灯)近日&#xff0c;“监控补光灯太刺眼&#xff0c;给夜间行车安全造成极大隐患”一事引…

4种常见的 PHP 设计模式

工厂模式 在大型系统中&#xff0c;许多代码依赖于少数几个关键类。需要更改这些类时&#xff0c;可能会出现困难。例如&#xff0c;假设您有一个从文件读取的 User 类。您希望将其更改为从数据库读取的其他类&#xff0c;但是&#xff0c;所有的代码都引用从文件读取的原始类。…

三网合一是指计算机网,什么是三站合一网站?什么是三网合一网站?

原标题&#xff1a;什么是三站合一网站&#xff1f;什么是三网合一网站&#xff1f;三站合一网站和三网合一网站是一个概念&#xff0c;都是指PC网站手机网站微信网站1. 什么是电脑网站指针对普通PC电脑上或笔记本的屏幕进行排版设计的网站&#xff0c;只有在普通PC电脑上或笔记…

使用HMAC(Play 2.0)保护REST服务

我们有HTTPS&#xff0c;还需要什么&#xff1f; 当您谈论基于REST的API的安全性时&#xff0c;人们通常会指向HTTPS。 借助HTTPS&#xff0c;您可以使用每个人都熟悉的方法轻松保护您的服务免遭窥视。 但是&#xff0c;当您需要更高级别的安全性或HTTPS不可用时&#xff0c;您…

安装卡主_智能温室四周玻璃的安装学问还这么多

智能玻璃温室大棚是指顶部及四周以玻璃为覆盖材料的尖顶温室大棚&#xff0c;玻璃温室大棚这几年的流行是由于纹络型温室顶部阳光板问题的抗老化方面容易出现问题。因此很多客户为了种植获得更高的透光率&#xff0c;更长的使用年限&#xff0c;因而多选择全玻璃温室大棚。那么…

String类详解(1)

首先String是一个类。  1&#xff0c;实例化String类方法。 1&#xff09;直接赋值&#xff1a;String name"haha"; 2)通过关键字&#xff1a;String namenew String("haha"); 2&#xff0c;String类的数据比较。 首先回顾一下&#xff0c;基础数据的比较…

第六章 计算机网络与i教案,大学计算机基础教案第6章计算机网络基础与应用.docx...

广东第二师范学院计算机科学系教案课程名称计算机基础I课程代码111012003课程类型公必√□ 专必□ 专选□ 公选□授课方式讲授□ 实践□案例讨论□ 上机√□考核方式考试□√ 考查□上机□√ 论文□教学总学时数16学分数1学时分配课堂讲授 2 学时&#xff1b;实践课 14 学时教材…

分享性能优化问题

谈谈性能优化问题 代码层面&#xff1a;避免使用css表达式&#xff0c;避免使用高级选择器&#xff0c;通配选择器。 缓存利用&#xff1a;缓存Ajax&#xff0c;使用CDN&#xff0c;使用外部js和css文件以便缓存&#xff0c;添加Expires头&#xff0c;服务端配置Etag&#xff0…

使用Scala,Play和Akka连接到RabbitMQ(AMQP)

在本文中&#xff0c;我们将研究如何从Scala连接到RabbitMQ&#xff0c;以便可以从应用程序中支持AMQP协议。 在此示例中&#xff0c;我将使用Play Framework 2.0作为容器&#xff08;有关更多信息&#xff0c;请参阅我在该主题上的其他文章 &#xff09;在其中运行应用程序&am…

阿尔法贝塔阀原理_图总结 - 阿尔法个贝塔 - 博客园

一.思维导图二.概念笔记图的存储结构1. 邻接矩阵定义&#xff1a;设图G有n (n大于等于1) 个顶点&#xff0c;则邻接矩阵是一个n阶方阵。当矩阵中的 [i,j] !0(下标从1开始) ,代表其对应的第i个顶点与第j个顶点是连接的特点无向图的邻接矩阵是对称矩阵&#xff0c;n个顶点的无向图…

WebApi Post 后台无法获取参数的解决方案

事件回放&#xff1a; 之前一段时间&#xff0c;公司里前端用的Angularjs 发送http请求也是用的ng的组件&#xff0c;后台是.Net的WebApi 前端 var data {PArgs: {PageIndex: 0,PageSize: 8,RowsCount: 0} };$http.post("/Api/Test/ABC", data).success(function (d…

南京大学计算机系周小莉,周会群

媒体报道&#xff1a;南京大学周会群&#xff1a;用计算机聪明地做实验Q《中国教育网络》A周会群Q&#xff1a;南京大学的高性能计算中心非常特殊&#xff0c;分布在物理&#xff0c;化学、天文、地球科学四个不同的学科中&#xff0c;为什么采取这种模式&#xff1f;A&#xf…

不要怂,就是GAN (生成式对抗网络) (五):无约束条件的 GAN 代码与网络的 Graph...

GAN 这个领域发展太快&#xff0c;日新月异&#xff0c;各种 GAN 层出不穷&#xff0c;前几天看到一篇关于 Wasserstein GAN 的文章&#xff0c;讲的很好&#xff0c;在此把它分享出来一起学习&#xff1a;https://zhuanlan.zhihu.com/p/25071913。相比 Wasserstein GAN &#…