簡體   English   中英

如何在不打開或導入Eclipse中依賴包的情況下開發OSGi包?

[英]How to develop OSGi bundles without opening or importing the dependent bundles in Eclipse?

我目前遇到的問題是eclipse無法解決清單中指定的插件依賴性。

讓我借助2個插件來概括我的問題。 假設一個插件是核心插件“ com.mycompany.core”,另一個是精致插件“ com.mycompany.fancy”。

插件com.mycompany.core是另一個團隊擁有的插件,並部署在我公司的maven存儲庫中,組ID為“ com.example”。

我的團隊擁有com.mycompany.fancy。 該插件對插件“ com.mycompany.core”具有依賴性。

為了簡單起見,讓我分別將這些插件稱為“ fancy”和“ core”。

我們只想使用Eclipse IDE中的“ fancy”插件。

我目前正在使用tycho構建“ fancy”插件。fancy插件的pom文件在“ dependencies”部分中對“ core”插件有明確的依賴關系。我使用Mvn為“ fancy”插件生成了.classpath和.project。 日食:日食

在eclipse IDE中為fancy插件導入生成的項目后,我看到eclipse無法將依賴關系解析為其清單文件中指定的“ core”插件。 Eclipse報告一個錯誤,提示“捆綁'com.mycompany.core'無法解決。 在“ fancy”項目的引用庫下,我看到eclipse列出了“ core”插件。 核心插件jar的位置為C:\\ mvn_repo \\ com \\ example \\ com.mycompany.core \\ 1.0.0 \\ com.mycompany.core-1.0.0.jar這是“核心”插件jar所在的位置部署在maven中,並且此位置是我計算機上的有效位置。

我還看到為“ fancy”生成的.classpath文件具有以下條目

但是,eclipse無法解決“ Fancy”清單中插件“ Core”的依賴項。

從命令行看不到任何問題。 但是,Eclipse中存在錯誤的事實意味着我們無法在Eclipse中啟動/運行任何東西,這對我們來說是個停滯點。

有誰知道如何解決這個問題,或者日食要識別已經在.classpath文件中指定其位置的包,需要做什么?

您需要定義一個既可以由Tycho構建版本使用,又可以在您的IDE工作區中使用的目標平台 Eclipse進行捆綁/插件開發的默認行為是使用運行中的IDE作為目標平台,但這是不幸的默認設置,因為對於幾乎所有“真實”項目而言,這都是一個非常糟糕的主意。 相反,您應該使用一個特定的TP,在其中您精確地確定您具有的依賴項,並在Tycho中也使用相同的目標定義

聲明捆綁軟件依賴度時,請查看Maven范圍設置。 副手,我想您正在尋找RUNTIME。

暫無
暫無

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

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