2014-01-21 77 views
5

我需要確認我懷疑是什麼,因爲我找不到任何文檔,所以這會出現一個愚蠢的問題,並且因爲我是eclipse PDE的學習者。什麼是OSGI版本限定符

最初,

我有一個Eclipse插件項目的父項目的POM與

<version>1.1.0-SNAPSHOT</version> 

兩個子項目,既有自己的勁歌指父POM爲1.1.0版本,快照。

我能夠成功地構建項目,並有一個站點用於將插件安裝到eclipse中。

然後,我想要我的個人臨時版本1.1.1-我的。所以我修改三個勁歌到 1.1.1礦

我也更新了META-INF/MANIFEST.MF和feature.xml的從

0.13.0.qualifier 

0.13.1.qualifier 

然而,該構建遇到以下錯誤。

[錯誤]未能執行目標org.eclipse.tycho:第谷 - 包裝 - 插件:0.15.0:項目org.sonatype.m2e.subclipse驗證版本(缺省驗證版本):OSGi的在META-INF/MANIFEST.MF版本1.1.1.qualifier不匹配的pom.xml Maven版本1.1.1礦

是否預選賽必須是一個行家版關鍵字?因爲,在構建過程沒有任何錯誤我在勁歌改變快照後。

如果不是,我做錯了什麼?

我該怎麼做才能讓我的版本1.1.1-我的?

+1

FWIW,你可以使用這個工具來比較maven和OSGi版本:http://versionatorr.appspot.com –

回答

2

簡而言之,OSGi .qualifier的含義與-SNAPSHOT的含義相同。

由於OSGi在版本(+限定符)中不允許超過3個數字,因此創建-mine版本有點棘手。

According to the FAQ,你可以告訴第谷的字符串,它應該是使用與更換qualifier

mvn -DforceContextQualifier=mine 

注意,這將禁用所有你從快照版本(即獲得善良,你可以部署捆數次)。

+2

...此外,這會禁用從自動限定版本獲得的所有優點:在p2/Tycho中,ID /版本對唯一標識一個工件,因此,如果修改工件中的某些內容並且沒有(自動)更改版本,則下游可能不會改變! – oberlies