有人能告诉我Netbeans Plateform和OSGI之间的主要区别吗?Becoz i将在Java Swing基础上制作该软件。
NetBeans模块系统背后的基本思想:
- NetBeans允许(部分)在运行时插入或删除模块捆绑包
- 它自动管理依赖关系,并注意避免循环依赖关系
- 目前的版本似乎只允许按需加载模块
- NetBeans允许为模块提供元数据,比如版本号、描述
- 模块几乎可以是任何东西,包括图像等资源
- NetBeans允许区分服务API和服务实现(可以在不同的模块中)
OSGi功能列表:
- OSGi允许在应用程序运行时在运行时安装、卸载、停止、启动或替换捆绑包(他们在OSGi中称之为模块……只是清单中有特殊信息的JAR文件)
- 依赖关系是在包级别自动处理的。一个bundle可以声明它导出一个或多个包(默认情况下,所有其他包都是该bundle的私有包),而另一个bundled可以声明它导入这些包。如果给定包有多个版本可用,则捆绑包可以声明它使用的版本
- OSGi利用每个JAR文件中的META-INF/MANIFEST.MF文件作为元数据。该元数据可以包括版本号、描述、导入/导出的包等
- OSGi中的模块是JAR文件。图像(例如)不能是模块。但是一个捆绑包可能包含一个可供其他捆绑包使用的图像
- 就像NetBeans一样,服务接口和实现是不同的概念,可以在不同的捆绑包中
因此,通过比较两者的上述功能,我可以说OSGi和NetBeans模块有很多共同点。希望得到帮助。