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 )里的@ 注意事項(QQ 345437592 )分享上來的。這里我謝謝他的貢獻了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-752\data-integration\ui 這個目錄下的,將 copy 到項目根目錄下,如下圖:
    
       
     
  注意:此步驟可以省略

      
第三步,在模板項目中加入開發工具包的第三方包信息和swt 包。 
        第三方包的源目錄是:E:\Downloads\pdi-ce-5.1.0.0-752\data-integration\lib 需要copy所有的jar文件到E:\kettle_templatePlugin\TemplateStepPlugin\libext這個目錄下。【注意:此步驟可以省略】
這里只拷貝文件,不copy文件夾。
      Swt包的源目錄是:E:\Downloads\pdi-ce-5.1.0.0-752\data-integration\libswt 需要copy下win64這整個目錄到E:\kettle_templatePlugin\TemplateStepPlugin\libswt 這個目錄下,如下圖:
       


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

         具體操作:eclipse-》選中src包右鍵-》Build path-》Configure Build Path-》Libraries-》Add External JARs-》打開E:\kettle_templatePlugin\TemplateStepPlugin\libext這個路徑下所有jar包-》繼續AddExternal JARS-》打開E:\kettle_templatePlugin\TemplateStepPlugin02\libswt\win64下這個jar包-》點擊OK。

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

     刪除Eclipse Work Space根目錄\TemplateStepPlugin\classes\plugin\template 目錄下所有.class 文件。
         刪除EclipseWork Space 根目錄\TemplateStepPlugin\bin\plugin\template 目錄下所有的.class 文件。
       刪除  Eclipse Work Space 根目錄\TemplateStepPlugin02\lib 目錄下的.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:\kettleDevInstallFile\ KettleCore\apache-ant-1.9.2-bin\apache-ant-1.9.2(這個路徑指向ant的zip包解壓路徑)
系統 ;%ANT_HOME%\bin;
            
檢驗ant 是否配好:cmd 打開之后直接輸入:ant
       
            
            
  
          lib 文件夾下出現TemplateStepPlugin.jar文件的。

     第七步:編譯導入的模板工程。

cmd進入Eclipse work space根目錄下的TemplateStepPlugin目錄下,然后直接輸入:ant即可。如下圖:

成功的話顯示信息如下:

          第八步:在kettle開發工具包中創建第三方插件項目目錄並且引入jar文件。


        copy下模板工程下的 resource文件到你做etl的kettle的D:\software\devSoft\data-integration\plugins\steps目錄下。這里需要自己創建文件夾:D:\software\devSoft\data-integration\plugins\steps\templugins。如下圖,
            

          下面是目標文件夾的目錄:
          

            

  我創建了templugins文件夾。TemplateStepPlugin.jar是上一步生成的文件直接copy過來的。icon.png和plugin.xml來自於
            
    第九步:大功告成,打開你的Spoon.bat。你會發現你的核心對象里面多了一個Demo目錄。這個目錄下的控件就是你新開發的模板插件了O(∩_∩)O~:

          

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM