最近想研究下kettle中user defined java class功能,但是在图形界面下实在不好搞。所以就想把源码载入到eclipse中运行调试。
找到Spoon.java后发现运行总是出现如下错误:
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3740 in java.library.path
no swt-gtk in java.library.path
Can't load library: C:\Users\ASUS\.swt\lib\win32\x86_64\swt-gtk-3740.dll
Can't load library: C:\Users\ASUS\.swt\lib\win32\x86_64\swt-gtk.dll
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:540)
在网上查找好久无果后,发现给的解决方案大多是基于linux下的,所以我找到swt.jar的引用地址,发现eclipase中pdi项目默认引用的是.\pdi-ce-src-4.4.0-stable-r17588\libswt\linux\x86_64路径下的jar包,觉得很奇怪,改为.\pdi-ce-src-4.4.0-stable-r17588\libswt\win64后运行成功!
看来问题还是要经过自己分析后解决会比较快啊~
顺便说一下自己的运行环境:
操作系统:win7
eclipse版本:Luna Release (4.4.0)
jdk版本:1.6
pdi版本:pdi-ce-src-4.4.0-stable-r17588