1、Kettle简介

Kettle是一个开源项目,作为ETL工具,kettle提供了丰富的功能和简洁的图形化界面。作为免费开源的ETL工具,可以通过其桌面程序进行ETL步骤的开发并执行。kettle以插件形式来实现每个转换步骤的工作,发行版中已经提供了常用的转换清洗插件,如果还不能满足业务需求的话,则可以自己开发相应插件实现。但在使用原有插件或者自定义插件的过程中遇到问题时,如果不好定位原因,则可以通过源码环境来调试,可以更加方便和容易地解决问题。另外,通过源码的开发和学习,也能更加深入地理解kettle的原理。

2、Kettle源代码部署概述

一、下载源码和kettle桌面工具并解压到指定目录(注意版本对应)
二、创建java项目
三、创建core、engine、dbdialog、engine、lib、plugins
四、复制源码
五、拷贝lib、libswt、launcher、simple-jndi
六、将lib下面的jar导入项目
七、添加libwt.jar包
八、运行项目

3、具体操作步骤

3.1 下载源码并解压

Github 下载开源代码链接
Kittle下载发行版链接
从 GitHub中选择要下载的源码,首先在branch中选择 master,然后在tags中选择要下载的源码版本(版本与Kettle下载的发行版一致),最有点击 clone or download 进行下载.
此处选择源代码版本为7.0.0.0-R,发行版版本为7.0

3.2 创建 Java 项目

在IDEA 中创建一个java project,下载并设置JDK版本为1.8最为合适,如下:

3.3 创建core、engine、dbdialog、ui、lib、plugins

在Kettle_7.0根目录下,新建core、engine、dbdialog、ui、lib、plugins六个文件夹,并将前四个文件夹设置为source folder(在文件夹上右键点击>>Mark Directory as>>Source Root),如下图所示。


以此创建core、dbdialog、engine、ui、plugins和lib文件夹,创建好了。

3.4 复制源码

进入源码解压包,将pentaho-kettle-7.0.0.0-Rcore\src下面的内容全部拷贝到项目的core文件夹下,同样,将engine、dbdialog、ui三个文件夹src下的内容也分别拷贝到项目对应的文件夹下。文件对应关系如下:

源码根目录 项目文件根目录 备注
.\core\src .\core
.\dbdialog\src .\dbdialog
.\engine\src .\engine
.\plugins\src .\plugins
.\ui\src和.\assembly\package-res\ui .\ui 这里注意,是两个文件夹,一个源码,一个是资源文件

复制core文件

复制dbdialog

复制engine文件

复制plugins

复制UI文件(注意将ui/scr和assembly/package-res/ui两个文件夹下面的所有文件拷贝ui文件夹下面)

3.5 拷贝lib、libswt、launcher、simple-jndi

  • 进入kettle发行版工具的解压包,将lib文件夹(pentaho-kettle-7.1.0.0-R\lib)里面的jar全部拷贝到项目lib中,并删除kettle-core-7.0.0.0-25.jar、kettle-dbdialog-7.0.0.0-25.jar、kettle-engine-7.0.0.0-25.jar三个jar包;
  • 再将data-integration\libswt目录下,对应操作系统的文件夹下的swt.jar(本文选择data-integration\libswt\win64\swt.jar)拷贝到项目的lib下,最后将lib下所有的jar包添加到项目中;
  • 最后拷贝发布版本下面的libwt、launcher、simple_jndi三个文件夹拷贝到java项目的根目录下面。如下:

3.6 将lib下面的jar 包导入项目

选中lib文件或者全选jar包,然后鼠标右键在弹出对话框中选择Add as Library…就添加成功。添加过程如下:

3.7 运行项目

至此,源码基本部署完毕,首先定位到Spoon.java类:
/Kettle_7.0/ui/org/pentaho/di/ui/spoon/Spoon.java,运行即可看到kettle的桌面程序了。至于JVM的参数(-Xms1024m -Xmx2048m等),也可以在Run Configurations里面进行设置,具体大小根据自己系统决定,如下:

【源码部署】Kettle IDEA 源码部署相关推荐

  1. 部署shiro官方源码时,执行maven命令出错

    转载自  部署shiro官方源码时,执行maven命令出错 部署shiro官方源码时,执行maven命令会报下面错误: [INFO] --------------------------------- ...

  2. 修改marathon源码后,如何编译,部署到集群中?

    首先,marathon源码是由scala语言编写,由sbt进行项目构建的:与spark不同,spark是由maven进行项目构建: 方案一:使用intellij idea导入marathon源码[目前 ...

  3. 基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  4. JAVA毕业设计健身房信息管理系统计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计健身房信息管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计健身房信息管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 开 ...

  5. 基于JAVA中小型饭馆餐饮管理系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA中小型饭馆餐饮管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA中小型饭馆餐饮管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  6. JAVA毕业设计vue健康餐饮管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计vue健康餐饮管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计vue健康餐饮管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈 ...

  7. 基于Java毕业设计研究生招生信息管理源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计研究生招生信息管理源码+系统+mysql+lw文档+部署软件 基于Java毕业设计研究生招生信息管理源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...

  8. 基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  9. 基于JAVA养老院管理系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA养老院管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA养老院管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...

最新文章

  1. 衡量机器学习模型的三大指标:准确率、精度和召回率
  2. 程序员的核心竞争力究竟是什么?
  3. 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
  4. python数据库抓取并保存_python:微信消息抓取、转发和数据库存储及源码
  5. 谈谈java面向对象思想_对于Java面向对象思想的理解
  6. Expdp/Impdp 并行导入导出详细测试
  7. 关于HttpWebRequest对象的KeepAlive属性
  8. mysql 表单属性_php表单常用属性有什么?
  9. 前端渲染与后端渲染之间的区别?
  10. 数学原来这么有趣,一组图唤醒你的思维!
  11. 基于POLARDB数据库的压测实践
  12. hive 和mysql配置_Hive学习和配置Mysql
  13. css 3d魔方源代码,CSS3 3D环境实现立体 魔方效果代码(示例代码)
  14. Python机器学习:线型回归法01简单线型回归法
  15. “浴霸”三摄出镜率真高!中兴Blade 20工信部入网
  16. Guava的介绍与使用示例
  17. 心情随笔(二):坚持就是胜利!
  18. java_db常见错误总结
  19. hadoop集群安装配置
  20. unity 游戏上架Google Play

热门文章

  1. 互联网金融牌照有哪些?金融牌照一览表
  2. 关于小程序区服登录账号换模拟器登录的操作
  3. 直击AWE2018:当AI遇见LED,诸葛小明给光更多可能
  4. ​ leetcode 460. LFU 缓存 hard​
  5. 各种标点符号的英文怎么念
  6. 计算机组装与维护doc,新版计算机组装与维护.doc
  7. oracle返回0001错误,ORACLE 异常错误处理
  8. Windows家庭版添加本地组策略编辑器的方法
  9. 【day22】java导出word文档(包含导出图片)
  10. 女神节 | 女性工程师 · 她说