最近因为项目需要接触了kettle,需要为用户定制一些特定的转换。
下面记录一下自己的学习经历。
下载的kettle版本文件稳定版,从github上面下载 github不熟的朋友可以参考文章 如何更好的理解和使用Github
fork一个版本 然后clone in desktop
地址为 https://github.com/bigfishman/kettle-4.4.0-stable
然后将 该项目导入到eclipse中,注意 可能会有错误
最常见的错误就是SWT包引入错误,也就是一个64位和32位两种包吧。
解决方法: 右键项目 选择 build path 然后add jars 如果你是 32的机器 选择 kettle 目录下的libswt 目录下 win32下的swt包 同样 64的选择 64
然后 编译
找到 di-ui-sqoon 包下的sqoon.java 运行 启动
sqoon能够正确启动了
开始插件设计
先下载标准插件模板 地址 http://www.ahuoo.com/download/TemplateStepPlugin.rar
将下载的jar包解压后 导入eclipse项目中
有错误,一般是包引起的 将build path中 下面的包用 kettle目录下 lib 下的 几个包替换 顺便还要加上 libswt /win32 (取决自己电脑位数)下的 swt.jar
包加入
重新编译工程
Link source
右键kettle 选择property 选择 source 然后 点击link source 选择上面TemplateStep项目的 src
这样,在项目TemplateStep中就可以进行调试了,相应的改变在kettle中也会改变
然后在 kettle 文件 plugin /steps 下面 新建文件夹 TemplateStep 然后将 标准模板 distrib文件夹下的 icon.png 和 plugin.xml文件 拷入 kettle新建的 TemplateStep文件夹下
TemplateStep .jar包不要拷 因为有时候 TemplateStep中的代码变了 ,但是没有重新打包成TemplateStep .jar并且拷入kettle的 TemplateStep 文件夹下,那么插件的改变依然不会出现,因为kettle会依旧采用以前的jar
重新启动sqoon 会发现在转换中出现了一个demon 下面有一个按钮 点击 就可以进行插件开发了
比如我们在 上面TemplateStep工程包下 的 dialog类中 找到 open()方法 加入一条 语句
System.out.println(“hello kettle!”);
然后重启sqoon ,再点击demon下的 按钮,在控制台会看见 hello kettle! (注意sqoon以debug方式启动)
原文地址:http://blog.csdn.net/yujin753/article/details/42527967