# kettlePlugins **Repository Path**: B16041311/kettlePlugins ## Basic Information - **Project Name**: kettlePlugins - **Description**: kettle通用插件,通过json配置文件实现自定义插件的开发。 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 34 - **Created**: 2018-03-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kettlePlugins kettle通用插件,通过json配置文件实现自定义插件的开发。 # 开发步骤 ## 下载本插件源码 通过git方式下载或者直接下载zip文件。 ## 环境准备 ### 安装maven、jdk8 略…… ### 安装kettle的jar包到本地maven仓库 1、首先下载kettle6或者7的发行包 2、使用如下命令安装jar(定位到kettle/lib下或者修改脚本中jar包的路径,或者将以下jar拷贝到自定义的目录中后执行,其中,swt-6.1.0.1-196.jar是libswt目录下相应Windows平台文件中的swt.jar,为了统一需要拷贝重命名一下,下面以6.1.0.1-196版本为例): ``` mvn install:install-file -Dfile=./kettle-core-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-core -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./kettle-dbdialog-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-dbdialog -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./kettle-engine-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-engine -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./kettle-ui-swt-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-ui-swt -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./pentaho-metadata-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=pentaho-metadata -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./metastore-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=metastore -Dversion=6.1.0.1-196 -Dpackaging=jar mvn install:install-file -Dfile=./swt-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=swt -Dversion=6.1.0.1-196 -Dpackaging=jar ``` ## 开发流程 1、使用Eclipse或者IDEA引入项目 2、修改pom中kettle版本号以及kettle安装目录 3、可以直接编译(mvn clean package)后,打开kettle检查是否成功:在转换的插件类别CommonPlugin下 ## 自定义插件开发 1、首先创建一个类继承nivalsoul.kettle.plugins.common.CommonStepRunBase 2、重写disposeRow()方法,用于处理每一行数据,该部分可以参考已有插件的实现方式 3、如果需要,可以重写init()和end()方法做一些初始化和清理操作 4、编译打包插件,确保插件已放入kettle的plugins文件夹下 - 其中用到的poi依赖版本为3.17,httpmine为4.5.1,如果需要使用自定义输入的excel/rest输入,则需要放到kettle/lib下 - 另外还用到了fastjson和guava,如果原来没有也需要放到kettle/lib下 5、重启kettle,在转换的插件类别CommonPlugin下拖拽插件到转换图流程图中,配置说明如下: - 插件类型直接选择“自定义”(如果想指定为特有名称,可以在nivalsoul.kettle.plugins.common.PluginType枚举中增加相应的名称即可) - 自定义类名填写上述自己创建的类全路径 - 配置部分格式为json,内容为在自定义插件中所使用到的配置字段信息(如果在插件类型中新增了自己的特有插件名称,同时也可以在resource下新增与插件枚举名相同的配置json文件,这样便可以在选择该插件类别的时候自动加载默认配置) ## 其他 如果大家在开发中遇到什么问题,可以加QQ群(195548102)咨询。