eclipse plugin-in project 和 feature project 分别是什么?有那些相同点和不同点。分别用在什么样的场景中,解决怎么样的需求?
对比
eclipse plugin-in project 和 feature project 都是用来构建eclipse插件的。
不同点:
- plugin-in project 是 lowest-level 的插件,主要实现特定功能。
- feature project 包含多个 plugin-in project ,代表一组相关功能。
相同点:
- 都是基于OSGi框架构建的。
- 都可以包含java代码,xml配置文件。
使用场景:
- 当你需要实现一个独立功能时,可以使用plugin-in project。比如实现一个简单的代码编辑器插件。
- 当你需要实现一组相关功能时,可以使用feature project。比如实现一个包括UML编辑器、代码生成器等多种功能的UML工具插件。
通过plugin-in project实现基本功能,将相关 plugin-in 通过feature project 整合到一起,提供完整的功能集合。
小节:
- plugin-in project 适合实现独立功能
- feature project 适合整合相关 plugin-in ,提供一个完整的功能集。
让插件集合更加模块化,易于开发和维护。
示例
了解了两者的差异及使用场景,本节将以实现UML工具为例具体说明两者事件的差异与关联
如果要实现一个UML工具插件,可以采用下面的结构:
plugin-in projects:
- UMLViewer: 实现UML图的查看和编辑功能
- ClassDiagram:实现类图功能
- SequenceDiagram:实现时序图功能
- … 其他UML图类型对应的插件
feature project:
- UMLTool
包含上述所有UML图类型对应的插件。提供完整的UML图建模功能。
这些plugin-in projects 都是独立功能,但属于同一个UML工具,所以整合到一个feature project 下。
UMLViewer plugin-in project 可以独立使用,提供基本的UML图功能。
但整合到UMLTool feature project 后,可以和其他UML图类型的插件共享类、方法等。
发布时:
- 可以单独发布UMLViewer plug-in ,满足只需要基本UML图功能的用户。
- 也可以发布整个UMLTool feature,提供全面的UML图建模功能。
小结:
- 用 plug-in projects 封装独立功能
- 用 feature project 整合相关 plug-in,提供完整功能
- 分模块開發,同時保證功能整合
这样既解决了模块化,又解决了整合两个方面的需求。
plugin-in project 何如整合为 feature project ?
将多个plugin-in project整合为一个feature project主要有以下步骤:文章来源:https://www.toymoban.com/news/detail-438315.html
- 创建feature project。右击项目→New →Feature Project。
- 定义feature.xml文件。指定feature id和name,用来定义该feature提供的功能。
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="com.mycompany.myfeature"
label="My Feature"
version="1.0.0"
provider-name="MyCompany">
</feature>
- 在feature.xml中include对应的plugin-in projects。
<plugin
id="com.mycompany.plugin1"
download-size="500"
install-size="200"
version="1.0.0"/>
<plugin
id="com.mycompany.plugin2"
download-size="1000"
install-size="500"
version="1.0.0"/>
- 利用Eclipse Plugin Dependency Analysis Tool(PDE Dependencies)检查依赖关系。确保所有依赖都被 resolver。
- 编译(Build) feature project,生成feature.jar,包含所有包含的plugin-in项目。
- 发布feature.jar,用户就可以通过安装该feature来获得所有相关的功能。
主要就是通过在feature项目的feature.xml中包含多个plugin-in的id,并指定版本号,从而将它们整合到一个feature中。
创建feature.jar后,就可以作为一个整体发布和安装。文章来源地址https://www.toymoban.com/news/detail-438315.html
到了这里,关于Eclipse插件(RCP) eclipse plugin-in project 和 feature project 的差异及联系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!