一 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的源码学习上取得进步。谢谢大家。

01_kettle源码部署的更多相关文章

  1. java源码部署

    环境:nginx+tomcat部署方式:源码部署源码目录 /chroot2/test/schedule 目录下面就是所有源码了tomcat 位置: /usr/local/tomcat/apache-t ...

  2. Openfire4源码部署到eclipse中并编译

    Openfire4源码部署到eclipse中并编译 概述 Openfire是众所周知的基于xmpp协议的IM开源服务,所有操作,配置,监控,调试等以B/S方式进行展示,非常的方便管理员进行管理.它的强 ...

  3. mondrian 4.7 源码部署

    mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最 ...

  4. 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr

    cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...

  5. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

  6. 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo

    情况 cas单点登录 cas server 源码部署tomcat运行报错 把cas server的代码下载下来后使用gradle插件或者maven插件以及转化成eclipse·后导入发现部署到tomc ...

  7. JForum 2.19源码部署到eclipse

    前两天在研究免费论坛,通过oschina和相关的文档查阅,最终选择了jforum,首先他是java写的,其次方便二次开发,而且有些论坛的源码都已经不在维护了,jforum最近几个月还是有更新的,但是从 ...

  8. centos7 源码部署LNMP

    一.环境 系统环境:centos 7.4 64位 Nginx:1.7.9 MySQL: 5.7.20 (二进制包) PHP:5.6.37 二.Ngin 安装 Nginx部署 yum install   ...

  9. zabbix3.4 源码部署

    centos6.8  系统    zabbix3.4.9   msyql5.7.22   php5.6.24  在centos6上面源码部署zabbix.3.4 问题比较多,需要花不少时间去解决,建议 ...

随机推荐

  1. linux下编译出现tmp空间不足解决办法

    编译的时候出现问题: fatal error: error writing to /tmp/ccHqgMoi.s: No space left on device 原因 : 系统 /tmp/空间不足, ...

  2. HDU - 5340 Three Palindromes(manacher算法)

    http://acm.hdu.edu.cn/showproblem.php?pid=5340 题意 判断是否能将字符串S分成三段非空回文串 分析 manacher预处理出前缀和后缀回文的位置, 枚举第 ...

  3. 如何使用无线连接来使Android调试手机

    进入Android Studio.(我的是2.2版本) File->Setting->Plugins Browse repositories... 搜索 ADB WIFI 并安装 重启An ...

  4. 转--python 黑魔法2

    Python 高效编程小技巧 个人博客:临风|刀背藏身 Python 一直被我拿来写算法题,小程序,因为他使用起来太方便了,各种niubi闪闪的技能点也在写算法的过程中逐渐被挖掘到,感谢万能的谷哥度娘 ...

  5. css3让图文不能复制

    -webkit-user-select: none; -ms-user-select: none; -moz-user-select: none; -khtml-user-select: none; ...

  6. 上传文件服务器与web内容服务分离

    现在难点在:     1\单击表单提交按钮后,图片上传到图片服务器,文字内容上传web服务器数据库,这两个服务器分别在两个城市.     2\图片不能通过web服务器中转.     3\web服务器内 ...

  7. 一个单js文件也可以运行vue

    新建一个hello.html文件,输入以下内容: <html> <head> <title></title> <script src=" ...

  8. Listbox的操作,数据源变化时要及时更新listbox要先把数据源置空,在给数据源绑定数据

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. node.js 找不到 xxx 模块解决办法

    node.js找不到xxx 这个模块的解决方法. 按顺序来. 1.检查一下是否拼写错误. 2.这个模块是自己写的,是的话.检查一下路径是否正确. 3.如果是导入的模块.用 npm list这个命令输出 ...

  10. 前端mock数据的几种方式

    方式 备注 本地php服务架设 直接输出json 使用在线mock服务 如easyMock.apizza.Rap1\2 , 可以远程协作  本地node服务:koa+mongodb    本地node ...