詳解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方式啟動)