2010-02-26 63 views
1

我正在使用maven-bundle-plugin生成我的包。 錯誤的一個問題是,finalName(jar文件)不符合實際的軟件包名稱。如何配置Maven以生成正確的命名OSGi包

內部束插件從Maven的格式的版本轉換爲OSGi的格式(例如:1.0-SNAPSHOOT => 1.0.0.SNAPSHOOT)

應該如何實際propper OSGi的命名可以構建罐子之前被提取/捆綁?

例如,考慮我的假象會com.mycomp.proj與版本1.2 SNAPSHOOT 束象徵性的名稱將是com.mycomp.proj。 我想定製maven-bundle-plugin來生成com.mycomp.proj_1.2.SNAPSHOOT而不是當前的一個om.mycomp.proj-1.2-SNAPSHOOT從SuperPOM繼承。

的想法是提取OSGIfied版本的把它放在<finalName> $ {project.artifactId} _ $ {} osgiVersion </finalName & GT; .... buh不知道如何/如果我可以得到thhis OSGified版本

+0

我不認爲maven-bundle-plugin設置了這樣的屬性。 – 2010-02-27 16:48:25

回答

0

finalName僅影響/ target文件夾中的文件。將文件安裝或部署到存儲庫後,它將始終重命名爲$ {artifactId} - $ {version} - $ {classifier}。$ {type},它是M2存儲庫佈局標準的一部分。

+0

即使我知道這一點(但在這種情況下沒有考慮到)......我投了你的回答,是正確的答案。 因爲我正在開發OSGi/RCP應用程序,所以我的想法是使用相同的OSGI包名稱(基於Bundle-SymbolicName)作爲Maven最終名稱,所以您有任何建議如何後處理Maven工件(例如:之後依賴:複製依賴)重命名爲OSGi名稱(使用Maven /內置Ant)? – user68682 2010-03-08 06:47:24