1. 程式人生 > >詳解kettle外掛開發之一

詳解kettle外掛開發之一

最近因為專案需要接觸了kettle,需要為使用者定製一些特定的轉換。

下面記錄一下自己的學習經歷。

下載的kettle版本檔案穩定版,從github上面下載  github不熟的朋友可以參考文章  如何更好的理解和使用Github

fork一個版本  然後clone in  desktop          

地址為        https://github.com/bigfishman/kettle-4.4.0-stable

然後將 該專案匯入到eclipse中,注意  可能會有錯誤


最常見的錯誤就是SWT包引入錯誤,也就是一個64位和32位兩種包吧。

解決方法:  右鍵專案 選擇 build path    然後add jars   如果你是  32的機器  選擇    kettle 目錄下的libswt  目錄下  win32下的swt包    同樣  64的選擇 64 


然後  編譯


找到   di-ui-sqoon 包下的sqoon.java  執行  啟動

sqoon能夠正確啟動了

開始外掛設計

先下載標準外掛模板    地址     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

重新啟動sqoon  會發現在轉換中出現了一個demon   下面有一個按鈕  點選  就可以進行外掛開發了


比如我們在 上面TemplateStep工程包下 的  dialog類中  找到  open()方法   加入一條 語句

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


然後重啟sqoon  ,再點選demon下的 按鈕,在控制檯會看見   hello  kettle!  (注意sqoon以debug方式啟動)