equinox在osgi的基礎(chǔ)上進行了擴展,本文作一個概要說明。
equinox在MANIFEST.MF的基礎(chǔ)上,增加了plugin.xml文件。模型如下圖:
其中osgi描述文件MANIFEST.MF中描述了bundle定義,bundle之間的依賴關(guān)系和bundle導(dǎo)入、導(dǎo)出的包;
equinox描述文件plugin.xml中描述了plugin的擴展關(guān)系(包括擴展和擴展點的定義),以及插件片段關(guān)系。
對于bundle相關(guān)的信息,可以通過BundleActivator中的BundleContext引用獲取;equinox中對BundleActivator進行了很多不同的實現(xiàn),如下圖:
而對于擴展點相關(guān)的信息,需要通過IExtensionRegistry獲?。?
IExtensionRegistry registry = Platform.getExtensionRegistry();
其中Platform是在eclipse的runtime中定義的,可以獲取平臺及平臺環(huán)境的相關(guān)信息。
本人的最新博客遷移到http://thinkinside.tk,使用GitHub Pages建立。我會陸續(xù)將所寫的文章遷移過去,并進行補充和修正,
歡迎過來圍觀。