e4,即Eclipse 4.0及之后的版本,标志着Eclipse作为一个平台革命性地提升。因为Eclipse从3.0开始正式全面基于OSGi的缘故,可以说Eclipse比其他任何IDE的模块化都做的更好。很多IDE都支持插件开发,但其本身很少能够做到模块化,一般都是本身是非模块化的系统,加上一个支持模块化的接口,从而允许第三方开发插件。只有Eclipse是由内而外完完全全的模块化。e4不仅仅延续且发扬了模块化,甚至还做到了完全的模型化,把最底层的UI和非UI模型全部开放出来,称为Application Model,而且减弱了传统的对接口实现,抽象类继承,以及extension points的依赖,取而代之的是依赖注入(dependency injection),又叫控制反转(reverse of control),加入了大量的annotation,使得开发变得非常灵活,模块之间耦合程度降低,模块的lazy initialization得到了优化。
继续展开说e4的好东西。
1、整个IDE的界面焕然一新
2、新增Quick Access功能支持全局搜索
3、取消了Eclipse 3.x中关于view和editor的区分,Eclipse 3.x中editor永远都在中央位置,而且editor永远不能和view并存于同一个stack里面,换句话说打开的java文件和Eclipse的Console view永远不能重叠在一起。e4就取消了这种本身就不必要的区分,不管view还是editor,都是part,是part就可以并存于partstack或者part sashcontainer里面。
4、进一步取消了Eclipse 3.x中对于不同UI模型的区分,比如只有editor和少量的几种view有dirty标志和保存功能。在e4所有UI模型都可以使用MDirtyable接口。
5、支持css文件实现外观,要不是e4实现了UI元素的彻底模型化,这是不可能实现的
其他优点还有很多,比如因为程序员可以直接接触到e4开放的核心模型,所以对基于Eclipse平台开发的项目有更多的控制权,可以放开手脚,有多大本事就能利用这些模型和服务开发出多好的企业级应用产品来。
下面说说为什么笔者正在做的这个RCP项目使用e4技术2周之后准备暂时放弃e4,仍然使用Eclipse 3.x技术。
e4,即Eclipse 4.0及之后的版本,标志着Eclipse作为一个平台革命性地提升。因为Eclipse从3.0开始正式全面基于OSGi的缘故,可以说Eclipse比其他任何IDE的模块化都做的更好。很多IDE都支持插件开发,但其本身很少能够做到模块化,一般都是本身是非模块化的系统,加上一个支持模块化的接口,从而允许第三方开发插件。只有Eclipse是由内而外完完全全的模块化。e4不仅仅延续且
好多年不用
rcp
了,现在偶然用一下,发现高版本
eclipse
不支持jdk8,好吧用上2020-06版本整一个小程序回顾一下例程
按照向导新建了
rcp
4例程,右键找到
rcp
1.product文件运行,可以。
想着加些打印日志吧,很自然想到用log4j,但是加个库折腾了好久,最后摸索出方法:
双击plugin.xml在编辑器里选build 加库那里选libs文件夹,最后得到配置文件build.properties
source.. = src/
output.. = b
最近公司的产品需要用到桌面应用程序, 为此开始研究Eclispe
rcp
框架。
1
Eclipse
RCP
(Rich Client Platform)
基于
eclipse
的应用, 用于创建富客户端的单机应用程序。可以把
eclipse
IDE 看成是
RCP
的作品。 大家都知道整个eclispe 是插件式的。 用
RCP
来开发应用程序可以方便的扩展其他组件, 当然你的应用既可以扩展其他应用, 也可以被用开扩展。下面是层次架构。
我直接按照官方工具书里说的, 在这里
Eclipse
IDE do
org.
eclipse
.ui.e4.part 插件包含:
进度视图 - 显示正在运行的作业列表,以及用户作业的模式对话框。
进度区域 - 动画工具栏区域,用于在作业运行时通知用户。
大纲视图 - 显示所选元素的大纲。
属性视图 - 显示所选元素的属性。
对话框 - 各种对话框
A. ListSelectionDialog - 从
Eclipse
3.x 移植
B. ElementListSelectionDialog - 从
Eclipse
3.x 移植
org.
eclipse
.emf.edit.e4 插件包含:
此插件包含 AdapterFactoryContentProvider 和 AdapterFactoryLabelProvider
本周早些时候,从事
Eclipse
各个项目的团队和开发者就
Eclipse
未来下一步该怎么走进行了激烈讨论,所有这些讨论都是由一个被称为“e4”的孵化项目在
Eclipse
提交者邮件列表上的宣布而引发的:
Eclipse
项目PMC宣布
Eclipse
项目孵化器中将增加一个新组件,名为E4。
组件描述:
在
Eclipse
项目3.4版的发布周期中,比较重要的计划条目之一是“创建Ecli...
eclipse
4插件开发 InfoQ Java的常规撰稿人Alex Blewitt博士最近通过Packt出版发布了“
Eclipse
4插件开发示例 ”。 本书使用Java作为语言,为可能的
Eclipse
插件开发人员提供了完整的教程。 另外,在后面的章节中将同时讨论构建自动化和
Eclipse
4模型的详细介绍,它可能会为经验丰富的
Eclipse
开发人员提供有用的资源。
在结构方面,本书包括分...
默认情况下,e4会查找workspace\.metadata\.plugins\org.
eclipse
.e4.workbench\workbench.xmi
如果查找不到,加载org.
eclipse
.ui.workbench插件中的LegacyIDE.e4xmi文件
如果我们需要为基于
eclipse
3.x的代码提供兼容e4的功能,可以把LegacyIDE.e4xmi文件放入product所在
解决Eclipse插件升级中Cannot complete the install because of a conflicting dependency的问题
qq_36789984: