kettle源码环境搭建调试以及插件开发

时间:2024-03-27 21:20:11

准备工作:

Eclipse

Jdk8+

当前以kettlt7.1版本开发:

Kettle源码:https://github.com/pentaho/pentaho-kettle/tree/7.1

Kettle安装文件下载:

https://ayera.dl.sourceforge.net/project/pentaho/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip

源码调试:

  1. 创建普通java项目

kettle源码环境搭建调试以及插件开发

  1. 在项目根目录下创建core、dbdialog、engine、plugins、ui四个目录:

kettle源码环境搭建调试以及插件开发

 

  1. 在源码解压目录找到对应目录,将java等相关文件复制到刚创建的四个目录下:

注意直接复制src下文件即可,不包含src目录本身

pentaho-kettle-7.1_bak\core\src\ -> core

pentaho-kettle-7.1_bak\dbdialog\src\ -> dbdialog

pentaho-kettle-7.1_bak\engine\src\ -> engine

pentaho-kettle-7.1_bak\plugins\ -> plugins

pentaho-kettle-7.1_bak\ui\src\;pentaho-kettle-7.1_bak\assembly\package-res\ui\ -> ui

再添加一个images目录,为了方便直接使用自带的svg图片:

pentaho-kettle-7.1\ui\ui\images –> ui\images

目录结构截图:

kettle源码环境搭建调试以及插件开发

  1. 找到安装解压目录,注意,这里是安装文件的解压目录:

kettle源码环境搭建调试以及插件开发

复制上面4个目录到项目根目录下

同时,进入lib目录下,删除kettle开头的三个jar包:

kettle源码环境搭建调试以及插件开发

目录结构截图:

kettle源码环境搭建调试以及插件开发

 

  1. 项目添加刚复制过来的lib:

选中项目->Build Path -> Add Libraries -> User Libraries -> New ,新建library,,点击Add JARS添加当前目录下jar,添加lib以及libswt下的swt.jar,swt.jar根据自己当前的操作系统选择对应版本。如我的机器是win64

kettle源码环境搭建调试以及插件开发

 

 

 

 

  1. 将core、dbdialog、engine、ui四个目录,作为源码目录:

选中文件夹,右键,Build Path -> Use as Source Folder

kettle源码环境搭建调试以及插件开发

最后形成项目结构:

kettle源码环境搭建调试以及插件开发

  1. 启动org.pentaho.di.ui.spoon.Spoon.java能正确打开,则为正确。

kettle源码环境搭建调试以及插件开发

SWT开发

1.安装插件:

http://www.eclipse.org/windowbuilder/download.php

选择对应的版本:如我eclipse是4.7,为eclipse安装插件:

http://download.eclipse.org/windowbuilder/WB/integration/4.7/

或者直接在Eclipse Marketplace搜索swt:

kettle源码环境搭建调试以及插件开发

kettle源码环境搭建调试以及插件开发

kettle源码环境搭建调试以及插件开发

选择yes,接着lisences同意。

等待安装:

kettle源码环境搭建调试以及插件开发

重启后生效。

新建项目或者直接创建一个Application Window

kettle源码环境搭建调试以及插件开发

打开类:选择Design即可

kettle源码环境搭建调试以及插件开发

插件开发

默认当前源码启动的kettle,组件比安装版本的少了很多,因为这些组件源码都是在plugins下面,这里我们不使用默认的plugins,直接自己写:

  1. 在plugins目录下新建steps目录
  2. 在steps目录下新建插件目录:validator
  3. 从ui\images目录下复制2个图标文件,用于插件显示时候的图标,比如我复制了VLD.png和VLD.svg,再创建plugin.xml 在validator目录下
  4. 插件需要使用到额外的jar包,在validator目录下创建lib目录,并放所需jar包
  5. 选择validator,右键,Build Path -> Use as Source Folder
  6. Lib下的jar添加到引用jar包

最后目录结构:(message用于i18n非必须)

kettle源码环境搭建调试以及插件开发

plugin.xml 具体根据实际情况配置,基本看名字就知道意思了,其中category为kettle打开后的组件分类,如:输入、输出等

kettle源码环境搭建调试以及插件开发

<?xml version="1.0" encoding="UTF-8"?>

<plugin

   id="TemplatePlugin"

   iconfile="VLD.svg"

   description="Template Plugin"

   tooltip="Only there for demonstration purposes"

   category="MyValidator"

   classname="validator.ValidatorMeta">   <!--插件入口类-->

     <libraries>

    <library name="myvalidator"/>

     </libraries>

            

   <localized_category>

     <category locale="en_US">MyValidator</category>

     <category locale="zh_CN">MyValidator</category>

   </localized_category>

   <localized_description>

     <description locale="en_US">数据校验插件</description>

     <description locale="en_US">数据校验插件</description>

   </localized_description>

   <localized_tooltip>

     <tooltip locale="en_US">数据校验插件</tooltip>

     <tooltip locale="en_US">数据校验插件</tooltip>

   </localized_tooltip>

</plugin>

直接使用eclipse export导出jar包,放入到安装的kettle文件plugin目录下,启动即可~

参考:https://blog.csdn.net/tj_java/article/details/78765158