OSGi與Maven、Eclipse PlugIn的區別

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

相關文章
相關標籤/搜索