• 02_kettle插件开发


    先下载标准插件模板    地址     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

    注意:如果没有steps文件夹,也创建一个空文件夹

    重新启动sqoon  会发现在转换中出现了一个demon   下面有一个按钮  点击  就可以进行插件开发了

    比如我们在 上面TemplateStep工程包下 的  dialog类中  找到  open()方法   加入一条 语句

    System.out.println(“hello  kettle!”);

    然后重启sqoon  ,再点击demon下的 按钮,在控制台会看见   hello  kettle!  (注意sqoon以debug方式启动)

    ==============================================================================================

    kettle官网案例如下

    初衷:
       
    1,通过kettle的发送邮件,将kettle的出错log发送到邮件中,但是在邮件中总是不能显示详细的出错log,所以想通过自己开发插件来完善这个功能。
       
    2,网上有一篇搭建kettle的文档,但是一方面是4.4版本的,而众所周知,4.4是和5.0以上的版本不兼容的。 
         3,网上有很多开发成型的kettle插件,但是一找下载目录,都不见了。这让我这个从来引用别人插件的人好无助,所以下决心自己开发一个插件。现在就把搭建的步骤记录下来,方便自己回忆。

    预期效果:
         
    准备工作:
      1,准备一下kettle必备的外部环境和开发IDE:

          ① 
    jdk-7u67-windows-x64.exeWIN64java环境,下载地址:http://pan.baidu.com/s/1pJOGpWB ,配置环境的具体方法详见:http://jingyan.baidu.com/article/c85b7a6414f2ee003bac95d5.html 一定配置好JAVA_HOMECLASSPATH来避免后期一些未知的错误。

          ②
      eclipse-jee-luna-SR2-win32-x86_64.zipWIN64下开发java工程的工具,下载地址:http://pan.baidu.com/s/1nt9Rn9R )。

        2,准备一下跟kettle具体相关的两个工具包和一个模板文件(kettle开发工具包,kettle源代码,kettle插件模板工具包)    
        
              ①下载kettle已经发布的kettle工具包。
    下载地址是:http://sourceforge.net/projects/pentaho/files/Data%20Integration/5.1/这里我下载的是这个版本:pdi-ce-5.1.0.0-752.zip。这一步的主要目的一方面是为了使用工具包里面的ui,来展现和现有kettle一样的界面。
    解压之后的包机构是这样的:
     
            
              ② 下载kettle的源代码。
                  下载地址是:http://source.pentaho.org/svnkettleroot/archive/Kettle/branches/
                  我使用的是这个版本:5.0/ 。需要注意的是,这个下载地址是类似于远程的svn,虽然可以将路径粘贴到迅雷、快车等下载工具里面下载,但是我更推荐使用svn工具下载,这样的话,就可以很容易获取到最新更改过的version了。源代码的怎么下载可以参照我的这篇帖子:http://www.ukettle.org/thread-41-1-1.html
                  
                   (svn只能获取最高5.0的版本,但是https://github.com/pentaho/pentaho-kettle/releases 这个地址能获取到6.0的代码              

            下载之后的目录结构是这样的:  
                     

              ③ 下载kettle模板插件源代码(多谢QQ3144652101帮忙校验这里)。
                  这个文件我从网上找了很多遍都没有找到,最后还是kettle群(227385701)里的@注意事项(QQ345437592)分享上来的。这里我谢谢他的贡献了O(∩_∩)O~
    http://pan.baidu.com/s/1pJkKEKV 文件名是:TemplateStepPlugin.rar

              需要准备的文件已经准备完毕,下一步进行开发环境的搭建。
         

    搭建步骤:
         
    第一步,在eclipse中导入模板工程。具体操作在已经打开的eclipse中是:file-import-general-Existing Porjects into Workspace-next-Select root directory(在这里写入你的TemplateStepPlugin.rar在本地的解压路径-finished
           

        导入之后的项目目录是这样子的:
         
         
    第二步在模板项目中加入开发工具包的ui包信息。
      pdi-ce-5.1.0.0-752data-integrationui这个目录下的,将copy到项目根目录下,如下图:
        
           
         
      注意:此步骤可以省略

          
    第三步,在模板项目中加入开发工具包的第三方包信息和swt包。 
            第三方包的源目录是:E:Downloadspdi-ce-5.1.0.0-752data-integrationlib 需要copy所有的jar文件到E:kettle_templatePluginTemplateStepPluginlibext这个目录下。【注意:此步骤可以省略】
    这里只拷贝文件,不copy文件夹。
          Swt包的源目录是:E:Downloadspdi-ce-5.1.0.0-752data-integrationlibswt 需要copy下win64这整个目录到E:kettle_templatePluginTemplateStepPluginlibswt 这个目录下,如下图:
           


        第四步,将所有的jar包引入到build path中。

             具体操作:eclipse-》选中src包右键-》Build path-》Configure Build Path-》Libraries-》Add External JARs-》打开E:kettle_templatePluginTemplateStepPluginlibext这个路径下所有jar包-》继续AddExternal JARS-》打开E:kettle_templatePluginTemplateStepPlugin02libswtwin64下这个jar包-》点击OK。

           第五步,删除模板文件中原有的class文件和jar包。更改build.xml中的编译信息。

         删除Eclipse Work Space根目录TemplateStepPluginclassesplugin emplate目录下所有.class文件。
            删除EclipseWork Space根目录TemplateStepPlugininplugin emplate目录下所有的.class文件。
           删除 Eclipse Work Space根目录TemplateStepPlugin02lib目录下的.jar文件。
    build.xml中的文件内容如下:
    1. <fileset dir="${libswt}/win32/" includes="*.jar"/>
    复制代码
                   改为:
    1. <fileset dir="${libswt}/win64/" includes="*.jar"/>
    复制代码
             另外多加一句话,如下图:(多谢@长春-木头,QQ:313119992)
                 
                           

         第六步,安装配置ant编译环境。

                 Ant文件下载地址:http://pan.baidu.com/s/1jGgljb4
                 Ant相关系统环境变量配置:
                新建系统变量:ANT_HOME
                变量值:E:kettleDevInstallFileKettleCoreapache-ant-1.9.2-binapache-ant-1.9.2(这个路径指向ant的zip包解压路径)
    系统;%ANT_HOME%in;
                
    检验ant是否配好:cmd打开之后直接输入:ant
           
                
                
      
              lib文件夹下出现TemplateStepPlugin.jar文件的。

         第七步:编译导入的模板工程。

    cmd进入Eclipse work space根目录下的TemplateStepPlugin目录下,然后直接输入:ant即可。如下图:

    成功的话显示信息如下:

              第八步:在kettle开发工具包中创建第三方插件项目目录并且引入jar文件。


            copy下模板工程下的resource文件到你做etl的kettle的D:softwaredevSoftdata-integrationpluginssteps目录下。这里需要自己创建文件夹:D:softwaredevSoftdata-integrationpluginssteps emplugins。如下图,
               

              下面是目标文件夹的目录:
              

               

      我创建了templugins文件夹。TemplateStepPlugin.jar是上一步生成的文件直接copy过来的。icon.png和plugin.xml来自于
               
        第九步:大功告成,打开你的Spoon.bat。你会发现你的核心对象里面多了一个Demo目录。这个目录下的控件就是你新开发的模板插件了O(∩_∩)O~:

              
  • 相关阅读:
    数据库范式那些事[转]
    C# 之值类型与引用类型参数[基础]
    C# 实体类生成工具
    《浅谈线程池》笔记
    提高网站性能之 —— 减少图片HTTP 请求的方案
    SQL Server 2005 For XML[学习]
    关于数据类型导致的精确计算
    SQL Server 数据库实现之TSQL语句[备忘]
    C# 关键字ref 和out 的详细区别
    关于XML中的名称空间
  • 原文地址:https://www.cnblogs.com/zxbzl/p/6638705.html
Copyright © 2020-2023  润新知