IDEA下编译运行kettle8.3.0.0
idea下编译运行kettle8.0,有很多坑,浪费了很多时间,故此记录下来,实测通过!
环境
win10 64位、IDEA、kettle8.3、JDK1.8
实践步骤
- pom修改:发现ui模块默认使用linux下的swt jar包,而我的环境是windows。进行如下修改,将jar更换为win
org.eclipse.swt
org.eclipse.swt.gtk.linux.x86_64
修改为
org.eclipse.swt
org.eclipse.swt.win32.win32.x86_64
${org.eclipse.swt.version}
IDEA启动Spoon.java
遇到问题 Could not load SWT library
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-4623 in java.library.path
no swt-gtk in java.library.path
Can’t load library: C:\Users\intha.swt\lib\win32\x86_64\swt-gtk-4623.dll
Can’t load library: C:\Users\intha.swt\lib\win32\x86_64\swt-gtk.dll
问题出在引用的swt.jar包的路径不对,之前的为:libswt/linux/x86/swt.jar
解决方法:右键->删除linux swt jar
- Spoon启动用到的xul粘贴到源码 ui源码路径下
看源代码知道是通过classloader加载的,类加载器路径是XXX/XXX/pentaho-kettle/ui/target/classes/,加上文件的相对路径ROOT_PATH("/") + XUL_FILE_MAIN(“ui/xxx.xul”)
位于源码resou