刚接到一个任务,就是要把kettle在本地跑通,然后再此基础上修改一下源码,以实现公司的需求。。。。

不说了,直接开搞。。。。

第一步需要下载源码:

源码地址:https://github.com/pentaho/pentaho-kettle/tree/8.2.0.0

之前有大佬已经跑通了,不过那是kettle6的,好像是没有用maven管理,想要的话地址在这:

https://blog.csdn.net/zutsoft/article/details/52998148

这个链接有三个资源的下载,不过版本很低,还不如自己本地跑一边。

 

kettle8的代码是maven管理,下载好源码之后等待jar包下载,期间会有几百兆的,不过慢慢等待下载吧。。。。

下载好之后找到spoon.java文件,直接运行这个带有main方法的就行了,如果在意料之中会出现如一个错误:

1.缺少swt-gtk-....dll 之类的报错,我现在的已经调试通过,不想再重现这个错误了。

 这个就是因为jar的缺失造成的,因为整个kettle默认的是org.eclipse.swt都是linux系统的,所以要把改成如下图的模式:

kettle8在eclipse上运行(windows)

 那么多的pom文件,改哪一个呢?

导入工程你会发现代码很长,在eclipse中分Package Explorer 和Project Explorer  等,。。。。。好吧这些工具使用自己体会吧。  修改Project Explorer下的:

kettle8在eclipse上运行(windows)

这两个的jar改成org.eclipse.swt.win32.win32.x86_64 就行了。

并且要确保自己的项目中jar包导入成功了。。。如下图:

kettle8在eclipse上运行(windows)

之后你运行spoon.java   不出意外还是报错的。。。。。。报错信息:

2.错误信息应该是:Error initializing ....    以及 找不到什么[ui\spoon.xul]       还有什么shell之类的错误。。。。我就不再重现错误了。

这个解决的方案就是:

首先要下载客户端的源码(姑且理解为客户端源码吧):下载地址:https://sourceforge.net/projects/pentaho/files/

找到client-tools下载。解压缩之后是这样的。。。

kettle8在eclipse上运行(windows)

 然后。。很重要额。。。

把data-integration\ui下的内容复制并粘贴到项目中的kettle-ui-swt下的src/main/resources/ui下。但是images中的内容别动。

 之后update下项目,再运行spoon.java,不出意外,就运行成功了。。。。。界面如下:

kettle8在eclipse上运行(windows)

额。。。然后代码就是:

kettle8在eclipse上运行(windows)

就喜欢不报错的源码。。。。。。。。。。。 

相关文章:

  • 2021-11-21
  • 2021-07-23
  • 2021-04-10
  • 2021-08-02
  • 2021-11-28
  • 2021-11-09
  • 2021-12-20
猜你喜欢
  • 2021-11-18
  • 2021-12-19
  • 2021-12-13
  • 2021-12-14
  • 2021-12-27
  • 2022-12-23
相关资源
相似解决方案