Author Archives: zhongzichang

Eclipse平台插件开发者指南之一 Eclipse是什么

Eclipse 是一个平台。目前它已经被设计成用于建造集成的Web和桌面应用的工具。在设计时,平台并没有给最终用户提供很多的功能。这个平台的价值在于,它能让用户以插件的方式快速开发可集成的功能部件。 Eclipse提供一套常用的UI模型,支持多种操作系统。按照Eclipse提供的可移植API编写的插件,不需要做任何修改,就可以在所有支持的操作系统上运行。 Eclipse 的核心,一个能够动态发现,装载,和运行插件的架构。平台负责发现和运行代码。UI提供一个标准的引导用户使用平台的模型。插件则专注于小数量的任务上。是哪种类型的任务呢?定义,测试,动画,发布,编译,调试,绘图…一切只要你想得到。 开放的架构 Eclipse 提供一个开放的架构,其他的开发团队可以在他们专长的领域里面给这个平台开发插件。如,仓库专家建造后端,使用方面(UE)的专家建造前端。可以增加重要的新功能部件和层次,而不会与其他的工具冲突。 从用户的角度来看,Eclipse 平台使用一个共同的工作台的模型。你可以将开发的工具通过它预先定义的钩子(extension points)插入到工作台中。 这个平台是由插件以层次的方式建成,每一个插件定义了更低层次的插件的扩展点的扩展,也可为更高层次的插件自定义扩展点。这种扩展模式可以让开发者给基础工具平台增加不同的功能。每一个工具生产出来的人工品,比如文件和其他的数据,由一个共同的平台资源模型来协调。 插件的开发者可以从这个架构中获得很多。这个平台管理多种不同的运行时环境,例如不同的操作系统或者工作组服务器环境。插件开发者能够专心完成他们的任务,不用担心有关集成的问题。 平台架构 Eclipse平台本身就是一个子系统,在由一个或者多个插件中实现。这个子系统在一个小型的运行时引擎的上面建造。下图做一个简单的描绘。拼凑成这个子系统的插件为给平台增加行为, 而定义了多个扩展点。下表描述这个平台的主要运行时组件,由一个或者多个插件实现。平台运行时    定义了扩展点与插件模型。动态发现插件和在一个平台注册表中维护插件及其扩展点的信息。当需要响应用户对平台的操作时,插件被启动。运行时使用OSGi框架实现。资源管理(workspace)    为资源的创建和管理,定义的API。这些资源包括项目、文件和目录,都是由工具生成并且保存在文件系统里。工作台UI    实现用户纵览平台的座舱。定义了扩展点,为增加UI组件,比如 views 或者 菜单 actions。提供附加的工具(JFace和SWT)来建造用户界面。UI服务是结构化的,因此UI插件的子集能够被用于建造RCA,独立与资源管理和workspace模型。以IDE为中心的插件为纵览和操纵资源,定义了另外的功能。帮助系统    像书籍一般,给插件来定义扩展点,能够提供帮助或者其他的文档。团队支持    为管理和版本化资源,定义了一个团队编程模型。调试支持    定义了一个语言独立的调试模型和UI类,为的是建造调试器和运行器。其他工具    其他的插件,比如支持搜索和资源比较,使用XML配置文件执行建造,从服务器那里动态升级平台。 盒子之外 离开了Web,基础平台就是一个IDE,没有什么特别的。 它是一个检查平台的最终功能的插件。这就是为什么Eclipse SDK和额外的插件一起装运,来增加SDK的功能。 你的插件可以提供这样的支持,编辑和操作额外的资源类型,例如Java文件、C程序、Word文档、HTML页面和JSP文件。 挑战 我们要求达到一个这样的集成水准,魔法般将独立的开发工具揉合到一个设计套件中。已有的工具可以足够简单的迁移到平台中,不需要强塞硬撬。 平台应该是开放的,用户可以选择工具,并且他们知道供应商在底层平台的开发过程中说了些什么。 它应该足够简单,容易理解,足够强壮,无须额外的粘和剂就支持集成。 提供工具,将平凡常用普通的任务自动化。足够稳定,让业界强壮的工具在其上面建造。非常有用,平台的开发者可以使用它来建造它本身。 上面都是Eclipse的目标。这个手册将帮助你检查Eclipse如何去实现这些想法。

Posted in Eclipse | Comments Off

Maven 建造的生命周期

概念:生命周期,建造过程,目标。 + 建造的生命周期基础 Maven 2.0 的中心概念就是建造的生命周期。项目成品的建造和分发的过程被明确定义。 对于建造一个项目的个人来讲,需要做的事情就是学习一些建造Maven项目的简单命令,以及POM,确保得到想要的结果。 有三个内建的建造生命周期:default, clean 和 site。defalut 生命周期处理你的项目的部署,clean 生命周期处理项目的清理,site生命周期处理你的项目站点文档的创建。 ++ 一个建造的生命周期是由过程组成 每一个建造生命周期由一系列不同的建造过程组成,建造过程表现为生命周期的一个阶段。 例如,default 生命周期拥有下面的建造过程(要获得完成的建造过程的列表 ,参考 “生命周期参考”): • validate – 检查项目的正确性和所需的信息是否有效 • compile – 编译项目的源代码 • test – 使用适合的单元测试框架来测试编译后的源代码。这些测试不需要代码被打包或者部署 • package – 将编译后的代码打包成为可分发的格式,例如一个JAR • integration-test – 根据需要,处理和部署包到一个环境,那里进行集成测试 … Continue reading

Posted in Maven | Leave a comment

Eclipse 的 Maven 插件

m2eclipse=>eclipse m2e m2elipse是第一个,也是最成熟的一个项目,集成 Maven 到 Eclipse IDE。在 EPL 1.0 下发行。 特点包括: 在Eclipse内部进行Maven建造 基于Maven的pom.xml来进行Eclipse的依赖管理 从Eclipse工作空间解释Maven的依赖,无须安装到本地Maven仓库 从远程仓库自动下载需要的依赖和源代码 提供的向导,支持创建新Maven项目,pom.xml和为已有的项目提供Maven支持 在远程仓库上快速搜索依赖 根据类和包的名字,查询需要的依赖和JARs,在Java编辑器内快速修整 与其他的Eclipse工具集成,例如 WTP, AJDT, Mylyn, subclipse 等 已迁移为 Eclipse 的 m2e 。 Eclipse IAM Eclipse IAM 一个新的 Apache Maven 插件,用新的方法来集成 Maven 到 Eclipse … Continue reading

Posted in Maven | Leave a comment