02_kettle插件开发
先下载标准插件模板 地址 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
注意:如果没有steps文件夹,也创建一个空文件夹
重新启动sqoon 会发现在转换中出现了一个demon 下面有一个按钮 点击 就可以进行插件开发了
比如我们在 上面TemplateStep工程包下 的 dialog类中 找到 open()方法 加入一条 语句
System.out.println(“hello kettle!”);
然后重启sqoon ,再点击demon下的 按钮,在控制台会看见 hello kettle! (注意sqoon以debug方式启动)
==============================================================================================
kettle官网案例如下
初衷:
1,通过kettle的发送邮件,将kettle的出错log发送到邮件中,但是在邮件中总是不能显示详细的出错log,所以想通过自己开发插件来完善这个功能。
2,网上有一篇搭建kettle的文档,但是一方面是4.4版本的,而众所周知,4.4是和5.0以上的版本不兼容的。
3,网上有很多开发成型的kettle插件,但是一找下载目录,都不见了。这让我这个从来引用别人插件的人好无助,所以下决心自己开发一个插件。现在就把搭建的步骤记录下来,方便自己回忆。
预期效果:
准备工作:
1,准备一下kettle必备的外部环境和开发IDE:
① jdk-7u67-windows-x64.exe(WIN64下java环境,下载地址:http://pan.baidu.com/s/1pJOGpWB ,配置环境的具体方法详见:http://jingyan.baidu.com/article/c85b7a6414f2ee003bac95d5.html 一定配置好JAVA_HOME和CLASSPATH来避免后期一些未知的错误。
② eclipse-jee-luna-SR2-win32-x86_64.zip(WIN64下开发java工程的工具,下载地址:http://pan.baidu.com/s/1nt9Rn9R )。
①下载kettle已经发布的kettle工具包。
解压之后的包机构是这样的:
③ 下载kettle的模板插件源代码(多谢QQ3144652101帮忙校验这里)。
这个文件我从网上找了很多遍都没有找到,最后还是kettle群(227385701)里的@注意事项(QQ:345437592)分享上来的。这里我谢谢他的贡献了O(∩_∩)O~。
需要准备的文件已经准备完毕,下一步进行开发环境的搭建。
搭建步骤:
第一步,在eclipse中导入模板工程。具体操作在已经打开的eclipse中是:file-》import-》general-》Existing Porjects into Workspace-》next-》Select root directory(在这里写入你的TemplateStepPlugin.rar在本地的解压路径-》finished。
导入之后的项目目录是这样子的:
第二步,在模板项目中加入开发工具包的ui包信息。
删除Eclipse Work Space根目录\TemplateStepPlugin\classes\plugin\template目录下所有.class文件。
build.xml中的文件内容如下:
- <fileset dir="${libswt}/win32/" includes="*.jar"/>
复制代码
改为:
- <fileset dir="${libswt}/win64/" includes="*.jar"/>
复制代码
另外多加一句话,如下图:(多谢@长春-木头,QQ:313119992)
Ant文件下载地址:http://pan.baidu.com/s/1jGgljb4
系统;%ANT_HOME%\bin;
检验ant是否配好:cmd打开之后直接输入:ant
lib文件夹下出现TemplateStepPlugin.jar文件的。
下面是目标文件夹的目录:
02_kettle插件开发的更多相关文章
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- jira的插件开发流程实践
怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...
- Vue插件开发入门
相对组件来说,Vue 的插件开发受到的关注要少一点.但是插件的功能是十分强大的,能够完成许多 Vue 框架本身不具备的功能. 大家一般习惯直接调用现成的插件,比如官方推荐的 vue-router.vu ...
- 【原创】记一次Project插件开发
一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...
- JavaScript学习总结(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- [Tool] Open Live Writer插件开发
一 前言 Windows Live Writer(简称 WLW)开源之后变成 Open Live Writer(简称 OLW),原先 WLW 的插件在 OLW 下都不能用了,原因很简单,WLW 插件开 ...
- VS插件开发 - 登录身份验证
[附加] 很多朋友问那个VS背景怎么弄的,我刚刚已经抽时间把制作步骤发出来了: 请参见<VS插件开发 - 个性化VS IDE编辑器,瞬间 高 大 上>. 最近一直在忙着一些事情,一直没有发 ...
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
- 开源遥感平台opticks插件开发指南
Opticks是一款开源的遥感数据处理平台,与其同类开源软件OSSIM一样,支持种类丰富的数据文件格式,但其最大特点为设计精巧的插件开发模式,在设计技巧上,系统提供了良好的封装特性,即使插件开发者对框 ...
随机推荐
- Python复习笔记(二)变量进阶
02. 可变和不可变类型 不可变类型,内存中的数据不允许被修改: 数字类型 int , bool , float , complex , long(2.x) 字符串 str 元组 tuple 可变类型 ...
- Java SE之String,字符串和子字符串的存储与区别
理解String 是怎么占用内存的 来看一个每个String对象的各个属性,一个String包括如下的属性: 一个char数组(是个独立的对象用来存储字符串中的字符) 一个int 的off ...
- BZOJ 4614[Wf2016]Oil
权限题鸭qwq 首先可以知道最优答案选出来的直线一定可以经过某条线段左端点,如果这条直线没有过左端点,可以通过平移和旋转等操作达到.所以可以枚举这条直线过了哪条线段的左端点,那么对于其他线段,能对答案 ...
- HTML5的学习(二)HTML5标签
3.按功能排列标签 (注:红色为HTML5不支持的,蓝色为HTML5新增的标签元素.) 3.1基本 标签 描述 HTML4 HTML5 <!--...--> 定义注释. √ √ < ...
- pygame将文字保存为图片形式
近期自学了点小基础,分享一下用pygame制作字体图片的方法: # 将文字保存为图片形式 import pygame import sys pygame.init() 导入字体包,也可以调用系 ...
- J - Joseph and Tests Gym - 102020J (二分+线段树)
题目链接:https://cn.vjudge.net/contest/283920#problem/J 题目大意:首先给你n个门的高度,然后q次询问,每一次询问包括两种操作,第一种操作是将当前的门的高 ...
- Java调整JVM内存大小——(八)
JVM内存大小是有限的,有的时候程序过大时候会导致超出最大内存,产生下面异常: Exception in thread "main" java.lang.OutOfMemoryEr ...
- LOJ 3089: 洛谷 P5319: 「BJOI2019」奥术神杖
题目传送门:LOJ #3089. 题意简述: 有一个长度为 \(n\) 的母串,其中某些位置已固定,另一些位置可以任意填. 同时给定 \(m\) 个小串,第 \(i\) 个为 \(S_i\),所有位置 ...
- 转载:(Mac)在bash和zsh配置环境变量path的几种方法
参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...
- window系统下远程部署Tomcat
远程访问windows系统,在windows系统上启动tomcat,发布项目.1.拨VPN2.远程桌面连接,cmd --> mstsc 回车,弹出远程桌面连接窗口 3.输入计算机IP:132.2 ...