kettle源码本地启动运行

一、准备工作

本地开发环境如下:

  • 操作系统:Windows10
  • Java:JDK11
  • 集成开发环境:IntelliJ IDEA 2023.2.5 (Community Edition)
  • Maven:3.9.2 – 好像使用IDEA自带的Maven也没有问题

kettle:https://gitee.com/mirrors/Kettle

标签选择:9.4.0.1-R 版本,直接下载。或者使用git拉取到本地后,切换标签

注意,如果不选用较为稳定的版本。有些依赖可能找不到。因为可能并没有上传到中心仓

在这里插入图片描述

  1. 我这里选择使用git进行拉取
git clone https://gitee.com/mirrors/Kettle.git
  1. 进入Kettle目录
cd Kettle/
  1. 切换tag
git checkout 9.4.0.1-R

在这里插入图片描述

  1. 使用IDEA打开它

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

等待IDEA将项目加载完毕,然后JDK选择11
在这里插入图片描述

二、打包kettle

  1. 刷新maven,让所有的依赖都拉到本地

  2. 屏蔽maven的test

  3. 双击package,等待打包结束

  4. 最终打包的产物在assemblies/client/target/pdi-ce-9.4.0.1-467.zip

  5. pdi-ce-9.4.0.1-467.zip解压后,找到Spoon.bat,双击,就能运行。

在这里插入图片描述

三、运行调试kettle

  1. 先运行maven的clean。然后,找到Spoon类,这个是kettle客户端的启动类。直接启动

在这里插入图片描述

  1. 此时遇到第一个报错:java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
    在这里插入图片描述

解决办法:在ui/pom.xml文件中排掉:org.eclipse.swt.gtk.linux.x86_64。并加入:org.eclipse.swt.win32.win32.x86_64

在这里插入图片描述

在这里插入图片描述

  1. 第二个错误:
org.pentaho.di.core.exception.KettleException: 
Unable to find plugin with ID 'Kettle'.  If this is a test, make sure kettle-core tests jar is a dependency.  If this is live make sure a kettle-password-encoder-plugins.xml exits in the classpath

在这里插入图片描述

解决办法:将core/src/it/resources/kettle-password-encoder-plugins.xml复制到ui/src/main/resources/

在这里插入图片描述

  1. 第三个错误:
java.lang.NoClassDefFoundError: org/apache/xmlgraphics/java2d/color/NamedColorSpace

在这里插入图片描述

解决办法:在ui/pom.xml文件中加入xmlgraphics-commons

在这里插入图片描述

  1. 第四个报错:
org.pentaho.ui.xul.XulException: Can not locate Xul document [ui/spoon.xul]

在这里插入图片描述

解决办法:将assemblies/static/src/main/resources/ui目录下文件都复制到ui/src/main/resources/ui

在这里插入图片描述

  1. 第五个报错:
java.lang.NoClassDefFoundError: org/jaxen/JaxenException

在这里插入图片描述

解决办法:在ui/pom.xml文件中加入jaxen

在这里插入图片描述

注意:更改了pom.xml都要重新刷新maven

  1. 最终成功,可以愉快的调试代码了(_)

在这里插入图片描述

三、总结

  1. kettle本地调试坑很多,一定要看懂报错,才能找到问题的解决方案。
  2. 遇到不好解决的问题,可以对比打包后的文件结构,与项目编译后文件文件。判断是不是缺失什么文件。
  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值