簡體   English   中英

在Maven Tycho多模塊項目中管理本地依賴項的版本

[英]Manage versions of local dependencies in Maven Tycho multi module project

我有一個PDE多模塊項目。 該項目是使用Maven構建的(使用Tycho)。 每個模塊的依賴關系均以OSGI樣式的清單描述,因此模塊采用清單優先的樣式。

一些模塊依賴於其他本地模塊,因此清單中包含以下內容:

Bundle-SymbolicName: com.example.module1;singleton:=true
Bundle-Version: 1.0.0
Require-Bundle: com.example.module2;bundle-version="[1.0.0]",
com.example.module3;bundle-version="[1.0.0]",

捆綁軟件版本和本地依賴項版本相同。 我無法從清單中刪除本地依賴項的版本,也無法從maven生成清單(tycho用於驗證清單,該清單在maven生命周期開始時運行)。

為了更新項目版本,我必須使用“ tycho-versions” maven插件。 它會更新poms,eclipse功能和清單中的版本號。 但是本地依賴項的版本不會更新(出於明顯的原因)。 我的自定義腳本已解決此問題。

問題:

  • 有沒有一種方法可以管理OSGI清單中的本地依賴項版本?
  • 在多模塊OSGI(清單優先)項目中,是否有任何最佳實踐來管理本地依賴項的版本?

Eclipse項目傳統上適用於此問題的解決方案是具有一項功能,該功能包括項目中的插件,並以此方式確保僅將來自同一內部版本的版本一起安裝。

顯然,這僅在同時安裝了將版本聯系在一起的功能的情況下才有效。 功能通常用於Eclipse用戶安裝的插件功能。 如果要構建僅由其他Eclipse插件使用的庫,則您的插件也可能沒有功能安裝。

在后一種情況下,您可能需要擴展Tycho版本插件以自動更新具有嚴格版本范圍依賴性的依賴性,例如bundle-version="[1.0.0]"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM