日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的MANIFEST.MF和feature.xml版本控制规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。