kettle自定义插件开发-官网demo集成与调式

2 篇文章 1 订阅
2 篇文章 0 订阅

一  下载官网插件源码demo

          kettle资源列表:https://sourceforge.net/projects/pentaho/files/,找到自己需要的版本插件,这里以8.3.0.0-371为例。

 

      下载地址:https://sourceforge.net/projects/pentaho/files/Pentaho%208.3/plugins/kettle-sdk-plugin-assembly-8.3.0.0-371.zip

      解压kettle-sdk-plugin-assembly-8.3.0.0-371.zip,发现下载下来的插件源码中包括了多种类型的插件demo,我们只使用step插件:kettle-sdk-step-plugin。

二 插件源码打包

      使用idea导入下载的插件源码kettle-sdk-step-plugin作为一个maven项目,此时项目会报错提示缺少依赖,修改pom.xml,在<name>Pentaho Data Integration SDK Step Plugin</name>这一行后面增加pentaho的仓库信息,增加的配置如下:

<repositories> 
   <repository>
         <id>pentaho-public</id>
         <name>Pentaho Public</name> 
         <url>http://nexus.pentaho.org/content/groups/omni</url>
         <releases> 
             <enabled>true</enabled>
            <updatePolicy>always</updatePolicy> 
         </releases> 
         <snapshots> 
             <enabled>true</enabled> 
             <updatePolicy>always</updatePolicy>
         </snapshots>
    </repository>
 </repositories>

      更新maven依赖,此时maven会去http://nexus.pentaho.org/content/groups/omni下载依赖,等待依赖下载完成后,就可以打包了,执行 mvn clean package 打完包后在 target 目录下出现了kettle-sdk-step-plugin-8.3.0.0-371.jar

 

三 插件集成

      在kettle 安装目录的 plugins文件下新建my-step-plugin文件夹,并将kettle-sdk-step-plugin-8.3.0.0-371.jar复制到文件夹下,如下图。

 

 

     执行Spoon.bat启动kettle,此时已经可以看到我们的demo插件了,如图

     新建一个转换,并使用我们的demo step创建一个任务,生成记录并使用demo step增加一列,创建好后保存,启动预览已经可以生成demo插件的列了。如图

 

四  远程调式

       修改Spoon.bat脚本,在if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m" 后面增加一行debug信息 -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=10001 ,如下图

       重新启动kettle,在idea中新建remote ,并修改port为刚才spoon.bat中增加的端口,这里是10001,如下图

      运行idea的debug,在相应的代码上打断点,kettle中运行这个转换,就会进入到我们的断点中,可以进行远程调试了。

      如果开发新的插件,只需要修改这个例子,并进行远程调试即可。

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值