2017-06-28 59 views
0

我可以使用Apache Felix Maven Bundle Plugin聲明一個類似私有包的依賴項嗎?我可以使用Apache Felix Maven Bundle Plugin聲明一個像private包這樣的依賴項嗎?

我想避免由於不同版本的傳遞依賴項造成的NoClassDefFoundException。

正在關注Apache Felix Maven Bundle Plugin documentation我可以看到<Private-Package>org.apache.felix.log.impl</Private-Package>,但在該示例中,聲明爲private的依賴項是自己的類。

我不知道該語句是否可以與依賴關係一起工作。

回答

1

對於位於依賴項內的包,您可以使用Private-Package。結果將是包的內容被嵌入到你的包中。

要小心,因爲這將導致此包中所有類的所有導入的Import-Package語句。所以實際上可能會讓你的情況更糟。

+0

感謝您的回覆。我認爲,但我想知道Eclipse如何解決這個問題。也許Eclipse使用類似[BND](http://bndtools.org/)的東西?在這種情況下,BND是否與OSGi軟件包兼容? –

+0

Eclipse是什麼意思? Eclipse RCP還是IDE的插件透視圖?它目前不使用bnd。 –

+0

Eclipse解決了這個問題,如果您查看pom.xml文件中的Dependency部分,您可以看到Eclipse將用其他依賴項提供的最新的依賴項替換傳遞依賴項。你明白嗎? –

相關問題