作者:lianghc
很多人都用kettle做ETL,并且一直想接触kettle源码,却卡在怎么把源码跑起来这坑上了,我就是这中情况。今天(20161101)我得到一个大神的帮助顺利将源码部署到myeclipse中。在此感谢大神:qq群 (Kettle俱乐部 227385701) 群中的 “成都-空山苦水禅人”,十分感激。在大神帮我部署成功后我整理了下部署步骤。自己重新试了一遍。耗时大概十分钟,所以本文取名为《10分钟搞定kettle源码部署》。废话不多说,直接开干:先说大概思路,不想看的直接看后面的详细步骤和gif动画(貌似有些动画加载不出来。只能多刷新几次啦)。
一 kettle源码部署概述
1.从git上选择合适的版本,并down下来;
2.创建一个java项目,建立core,dbdialog,engine,ui,plugins文件夹,和一个lib文件夹;
3.将kettle源码中上述五个文件夹中的src下的代码拷贝到我们创建的java项目的五个文件夹下;
4.将发行版kettle工具免安装包的lib,libswt,launcher,simple-jndi 四个文件夹拷贝至java项目根目录,并系统的位数选择libswt.jar add to build path;
5.删除lib下kettle-core.XXX,kettle-dbdialog.XXX,kettle-ui.XXX 三个jar包,剩下的add to build path
6.将源码包根目录下assembly\package-res\ui(pentaho-kettle-XXXX\assembly\package-res\ui)的ui拷贝到项目的ui文件夹下。
最终目录树如下:
(下图gif动画,如果没显示请刷新几次)
(下图gif动画,如果没显示请刷新几次)
二 具体操作步骤
1.源码下载
下载地址:https://github.com/pentaho/pentaho-kettle,在master下选择tags选项卡,选取自己需要的版本,并下载。
注意:从git上下载一个与自己开发用kettle版本一致的 发行版源码 例如:我使用的是pdi-ce-6.1.0.1-196,那么在下载时就选择:6.1.01-R。
如果下载其他版本的源码,自己去下载相应的发行版kettle后,也可取得里面的lib/*.jar。
2. 创建java工程,并创建五个源码文件夹core,dbdialog,engine,ui,plugins,和一个lib文件夹:
创建java项目,我这里创建了一个项目叫Kettle.接着给项目创建如下的五个文件夹:
3.复制源码到项目的文件夹下,文件复制路径映射关系如下:
源码根目录 | 项目文件根目录 | 备注 |
.\core\src | .\core | |
.\dbdialog\src | .\dbdialog | |
.\engine\src | .\engine | |
.\plugins\src | .\plugins | |
.\ui\src .\assembly\package-res\ui |
.\ui | 这里注意,是两个文件夹,一个源码,一个是资源文件 |
3.1 演示复制core,dbdialog文件夹的源码如下
(下图gif动画,如果没显示请刷新几次):