2016-09-05 48 views
1

我正在轉換Subclipse以使用Eclipse Tycho和Maven構建。Eclipse插件與第三方庫的Maven依賴關係

Subclipse依賴於幾個不是Eclipse插件的第三方JAR文件,因此不存在於任何p2存儲庫中。目前,我只是將這些包含在插件中的lib文件夾中。

由於這些JAR文件確實存在於Maven中,我希望通過將插件轉換爲使用Maven構建,我可以使用Maven依賴關係。 IOW,插件會有一個pom.xml,我使用Maven依賴來獲取幷包含必須包含在插件中的第三方jar。基本上,它會自動刷新我包含在插件的lib文件夾中的內容。

這可能嗎?當我嘗試做我上面所說的時,我沒有看到Maven/Tycho試圖獲取依賴關係的跡象。我想這是因爲當封裝是eclipse-plugin時,它只能看到Eclipse配置文件中的依賴信息。

謝謝

回答

0

要增加普通(無OSGi的元數據)jar文件保存到biuild時間的文件夾中,您可以指定maven-dependency-plugin<execution>來獲取它們。但是,每當版本發生變化時,都需要更新MANIFEST.MF Bundle-Classpath指令。

尋找OSGi-jar或通過額外的努力將現有的庫打包爲Eclipse Orbit或JBoss Tools Locus等OSGi bundle/p2工件通常會更好。

+0

我是這種情況我維護第三方庫併發布工件。是否容易讓Maven爲每個jar構建一個OSGI工件並同時發佈?任何指針? –

+0

您必須使用'maven-bundle-plugin',以便根據您使用的軟件包爲您生成MANIFEST.MF。然後,您可以按照https://wiki.eclipse.org/Tycho/Target_Platform#.22POM_dependencies_consider.22中的說明使用Tycho中的Maven OSGi包 – Mickael

0

您是否在將依賴關係添加到pom.xml文件後嘗試執行以下操作?

  • 項目 - >清潔
  • 右鍵單擊項目:Maven->更新依賴
  • 右鍵單擊項目:Maven->更新項目配置