osgi 的框架 apache felix equinox html
osgi的bundle 、 maven 的 module 、 Eclipse 的 PlugIn 的區別。。。。 apache
OSGi與Maven 框架
Maven也具備模塊化系統的特徵;可是它只是一個編譯時工具,而不是運行時框架。Maven並非OSGi的競爭者,而是OSGi的一個補充。 maven
經過在pom.xml中指定所依賴jar包的名稱、版本號,Maven就能在編譯時自動下載正確的jar文件,並部署到classpath中。 模塊化
然而Maven並無解決JAR文件的缺點: 工具
一樣使用全局的classpath; ui
一樣不能作到包級別的信息隱藏;
並且pom.xml的格式與OSGi格式並不兼容。因此,若是用Maven編譯OSGi系統,一般須要定義兩遍metadata:
在pom.xml中定義Maven的metadata
在MANIFEST.MF中定義OSGi的metadata spa
OSGi與Eclipse PlugIn
Eclipse平臺是基於Equinox的,而Equinox就是OSGi的實現之一。
而在Eclipse3.0以前,卻使用的是另外一套模塊系統;Eclipse PlugIn是指包含plugin.xml的文件夾;plugin.xml中定義的metadata和OSGi的MANIFEST.MF很是相似:包含plugin的name、vendor、version、導出包、required plugin。
關鍵的區別在於:Eclipse PlugIn定義的依賴並非包級別,而是整個plugin。
Eclipse Plugin的最大缺陷是,不能動彈地安裝、更新、卸載。
來自:http://www.myexception.cn/operating-system/1405867.html xml