Kettle源码启动运行-创新互联

Kettle源码运行环境如下:
windows10
Kettle 9.3.0.2
Java JDK 11
IntelliJ IDEA 2021.2.2 (Community Edition)
Maven 3.8.1(版本不需要太高 )

专业领域包括做网站、成都做网站、商城网站建设、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。

导入kettle到IDEA
可通过kettle的GIthub地址获取 kettle的克隆连接,或直接下载ZIP压缩包,将kettle导入到IDEA。

配置Maven
打开Preferences - Build、Execution、Deployment - Builder - Maven
配置Maven为自己下载的Maven 3.8.1,配置Maven的Settings.xml文件
kettle的所需依赖包,在国内没有镜像。需要配置(配置来自kettle源码使用说明):

D:\mavendata-kettlepentaho-publicdevreaduser{zIMyJWfHKfoHiBJAVsAgW4E5BcJzR+nhTtgPy0J+/rs=}pentaho-publichttps://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/*aliyunmaven*�����ƹ����ֿ�https://maven.aliyun.com/repository/publiccentral-repository*Central Repositoryhttp://central.maven.org/maven2/pentahotruepentaho-publicPentaho Publichttps://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/truealwaystruealwayspentaho-publicPentaho Publichttps://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/truealwaystruealwaysorg.pentaho.maven.pluginscom.pentaho.maven.pluginscom.github.spotbugs

配置完毕后,右击根pom - Maven - Reload project,等待Maven下载依赖
构建项目
依赖下载完毕后,点击IDEA右边Maven,点击“M”图标,运行命令【mvn clean install -DskipTests】,-DskipTests代表跳过测试
在这里插入图片描述
打印台出现一下字样,代表build已经完成了
在这里插入图片描述
此时到工程目录下的/assemblies/core/client/target地址
可以看到kettle的压缩包pdi-core-ce-9.3.0.0-SNAPSHOT.zip,解压后,可以看到Spoon.bat文件,在控制台执行定位到解压目录,执行【spoon.bat】即可在windows环境下启动kettle客户端。

在项目中调试kettle步骤:
启动Spoon.java
在以下路径中找到pentaho-kettle-master/ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java,右击,选择【run ‘Spoon.main()’】,启动它。
在这里插入图片描述

初次运行时,会运行失败,接下来按下面操作进行解决。
第一个错误失败截图如下:
在这里插入图片描述
java.lang.UnsatisfiedLinkError: Could not load SWT library
解决方法:
修改一下UI 子模块的中的pom.xml文件改成Windows的swt包

org.eclipse.swtorg.eclipse.swt.win32.win32.x86_644.3

修改 file ->Project Structure ->Modules ->kettle-ui-swt ->Dependencies 中将如下图中所示:将windows的swt放在前面,先加载,后面的linux的swt的jar包就不会再加载(这个如果你是在linux系统下的话,就不用修改这些)然后修改 file ->Project Structure ->Modules ->kettle-ui-swt ->Dependencies 中将如下图中所示:将windows的swt放在前面,先加载,后面的linux的swt的jar包就不会再加载
在这里插入图片描述

第二个错误:
在这里插入图片描述
添加kettle-password-encoder-plugins.xml到/kettle-core/src/main/resources下
在这里插入图片描述
第三个错误
在这里插入图片描述
java.lang.NoClassDefFoundError: com/google/api/client/json/JsonFactory

点击"Edit Configurations",打开"Run Debug Configurations"界面
VM options:–class-path=“lib” -XstartOnFirstThread
Working directory:后面追加 dist
在源码目录下新建目录 dist,在 dist 目录中新建子目录 lib 将之前编译成功的发布包 zip 中的 ui 目录解压至<源码目录>\dist 中 将之前编译成功的发布包 zip 中的 lib 目录下的以下 4 个 jar 文件拷贝到<源码目录>\lib 中
其中slf4j-nop-1.7.12.jar,需要到远程仓库下载:https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.12/

在这里插入图片描述

第四个错误:
在这里插入图片描述
NoSuchMethodError:找不到方法,大多是jar包冲突导致

第五个错误:
在这里插入图片描述

代码结构分析
在这里插入图片描述
kettle-core:kettle的核心模块,包括一些数据处理等。
kettle-dbdialog:kettle数据库连接界面逻辑。
kettle-engine:kettle的引擎,负责执行kettle的具体作业和转换的逻辑,并会调用core模块。
kettle-ui-swt:用户界面模块,包括用户界面显示的xul文件,通过后端代码编写的Dialog以及国际化等。
pdi-assemblies:该模块用于项目的生成,里面主要包括各个工具启动的脚本、静态资源、帮助文档、组件简单的事例(ktr/kjb)、第三方包引用等。
pdi-engine-ext:kettle引擎扩展模块。
pdi-plugins:kettle的核心插件模块,如果我们要自定义组件,可以参考该模块的组件。
integrantion:集成测试模块。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享题目:Kettle源码启动运行-创新互联
标题网址:http://myzitong.com/article/gsidj.html