簡體   English   中英

OSGI捆綁包.bnd文件和沖突的導入包語句

[英]OSGI bundle .bnd file and conflicting import-package statements

我繼承了一個具有導入!javax的.bnd文件。 ,如果我刪除該語句,程序將產生運行時錯誤。 我目前需要將JavaHelp添加到我的應用程序中,該應用程序位於javax.help下。 當我在.bnd中同時擁有這兩個導入並且使用JavaHelp中的類時,它將為特定類生成ClassNotFoundException,例如javax.help.JHelp。 有辦法解決這種情況,我感到很困惑。

捆綁軟件通常需要導入所有不以“ java”開頭的軟件包。 這包括“ javax”。 包。 如果您的bnd文件明確不導入javax。 軟件包,那么它必須依賴非標准的啟動委托配置框架。 也就是說,引導委托提供對javax的“免費”訪問。 捆綁包的父類加載器(可能是bootclassloader)中的軟件包。 因此,當您刪除!javax時。 從bnd文件中,您的捆綁包開始從某個提供程序導入那些軟件包,而這些軟件包可能與bootdelegation提供的內容不同。

暫無
暫無

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

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