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.pswp.cn/news/373015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373015.shtml
英文地址,請注明出處:http://en.pswp.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 &#…