10分鐘搞定MyEclipse上編譯kettle源碼部署

作者:lianghc

       很多人都用kettle做ETL,並且一直想接觸kettle源碼,卻卡在怎麼把源碼跑起來這坑上了,我就是這中情況。今天(20161101)我得到一個大神的幫助順利將源碼部署到myeclipse中。在此感謝大神:qq羣 (Kettle俱樂部 227385701) 羣中的 “成都-空山苦水禪人”,十分感激。在大神幫我部署成功後我整理了下部署步驟。自己重新試了一遍。耗時大概十分鐘,所以本文取名爲《10分鐘搞定kettle源碼部署》。廢話不多說,直接開幹:先說大概思路,不想看的直接看後面的詳細步驟和gif動畫(貌似有些動畫加載不出來。只能多刷新幾次啦)。

一 kettle源碼部署概述

1.從git上選擇合適的版本,並down下來;
2.創建一個java項目,建立core,dbdialog,engine,ui,plugins文件夾,和一個lib文件夾;
3.將kettle源碼中上述五個文件夾中的src下的代碼拷貝到我們創建的java項目的五個文件夾下;
4.將發行版kettle工具免安裝包的lib,libswt,launcher,simple-jndi 四個文件夾拷貝至java項目根目錄,並系統的位數選擇libswt.jar  add to build path;
5.刪除lib下kettle-core.XXX,kettle-dbdialog.XXX,kettle-ui.XXX 三個jar包,剩下的add to build path
6.將源碼包根目錄下assembly\package-res\ui(pentaho-kettle-XXXX\assembly\package-res\ui)的ui拷貝到項目的ui文件夾下。
最終目錄樹如下:
(下圖gif動畫,如果沒顯示請刷新幾次)


二  具體操作步驟

1.源碼下載

下載地址:https://github.com/pentaho/pentaho-kettle,在master下選擇tags選項卡,選取自己需要的版本,並下載。
注意:從git上下載一個與自己開發用kettle版本一致的 發行版源碼   例如:我使用的是pdi-ce-6.1.0.1-196,那麼在下載時就選擇:6.1.01-R。
如果下載其他版本的源碼,自己去下載相應的發行版kettle後,也可取得裏面的lib/*.jar。

2. 創建java工程,並創建五個源碼文件夾core,dbdialog,engine,ui,plugins,和一個lib文件夾:

創建java項目,我這裏創建了一個項目叫Kettle.接着給項目創建如下的五個文件夾:


3.複製源碼到項目的文件夾下,文件複製路徑映射關係如下

源碼根目錄項目文件根目錄備註
.\core\src.\core 
.\dbdialog\src.\dbdialog 
.\engine\src.\engine 
.\plugins\src.\plugins 
.\ui\src
.\assembly\package-res\ui
.\ui這裏注意,是兩個文件夾,一個源碼,一個是資源文件

3.1 演示覆制core,dbdialog文件夾的源碼如下

(下圖gif動畫,如果沒顯示請刷新幾次)

3.2 演示覆制ui文件夾

(下圖gif動畫,如果沒顯示請刷新幾次):


4.將發行版kettle工具免安裝包的lib,libswt,launcher,simple-jndi 四個文件夾拷貝至java項目的根目錄

 其中lib 文件夾放的都是項目依賴的jar包。用kettle打包好的比較省事。

(下圖gif動畫,如果沒顯示請刷新幾次)




5. 將lib下的jar加入到編譯目錄。

注意:
1.去掉kettle-core.xxx.jar ,kettle-bddialog.xxx.jar,kettle-engine.xxx.jar。
2.根據系統的位數選擇libswt.jar  add to build path
(下圖gif動畫,如果沒顯示請刷新幾次):




6. 部署完成,編譯源碼

到這裏就基本完成部署了,接下來將源碼編譯一遍。
首先將源碼加入編譯目錄,可以在將project clean一遍,再編譯。
(下圖gif動畫,如果沒顯示請刷新幾次):




7.成功彈出kettle客戶端

 好啦,就這簡單。部署成功啦!!!
(下圖gif動畫,如果沒顯示請刷新幾次)

  
     
本次工程壓縮包:
由於CSDN有文件上傳大小限制,所以將工程打包成三個包,解壓放到一起就好了:
kettle(6.1.0.1-196 MyEclipse源碼工程包)part1

kettle(6.1.0.1-196 MyEclipse源碼工程包)part2
kettle(6.1.0.1-196 MyEclipse源碼工程包)part3
注意:
1.工程解壓後刪除lib文件夾下的kettle-core.xxx.jar ,kettle-bddialog.xxx.jar,kettle-engine.xxx.jar,然後add to build path,如果在reference_library中已經存在相應的jar包,爲了版本統一請先清空reference_library
,然後把lib文件夾下的jar都add進去
2.根據系統的位數選擇libswt.jar 並 add to build path。
 
     我的源碼的成功部署很感謝kettle俱樂部qq中的“成都-空山苦水禪人”無私幫助,的無私也鼓勵我花時間將自己會的一些東西(雖然不足掛齒)分享給大家。
    後期希望自己在kettle的源碼學習上取得進步。謝謝大家。
發佈了57 篇原創文章 · 獲贊 17 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章