因为工作的原因,接触到了一个RCP程序的升级工作(3.4 -> 4.4)。在升级的过程中,除了一些基本target platform API的迁移之外,遇到的最大问题就是如何在4.4的版本上构建出一个可用的应用程序。由于老版本的build是使用PDE+Ant来实现的,且在4.4之下之前的build代码已经无法使用,于是我们选择了Tycho来构建RCP程序。至于为什么选择Tycho而不是继续使用PDE,原因无外乎两个字:简单!
在开始介绍之前,请您确保您已经对RCP开发和Maven具备一定的了解。文中所有的RCP的例子都是基于JDK8 + eclipse 4.4 SDK + maven 3.2.5 + Tycho 0.22.0。
首先说说Tycho,关于Tycho, 在他的官网上(https://eclipse.org/tycho/)是这么介绍的:
写道
Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven.
翻译过来也就是Tycho是一套可以构建eclipse plugin和OSGI bundle的Maven插件。由于Tycho在最大程度上复用了RCP开发当中的MANIFEST.MF文件,因此我们可以用极少的配置就可以完成所有的构建工作。Tycho支持三种打包类型:eclipse-plugin、eclipse-feature和eclipse-repository分别对应着RCP开发当中的plugin、feature以及P2 update site\product。如下表:
Package Type | Description< |