最近研究kettle插件的開發,於是下載了kettle的源碼方便進行調試,進入調方法如下:
1.在kettle源碼中鏈接插件源碼;
2.找到Spoon.java,進行debug運行;
3.這時會啓動圖形界面,然後打斷點,對相應的插件進行調試。
具體操作:
1.右鍵項目 -> properties -> source -> Link Source -> 輸入正確的插件源碼目錄及鏈接到kettle源碼項目中的名字
2.按ctrl+alt+R 快捷鍵查找到 spoon.java
在 spoon.java 中右鍵debug as ->java application
3.略
其中遇到的問題:
debug 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)
問題出在引用的swt.jar包的路徑不對,之前的爲:libswt/linux/x86/swt.jar
正確的jar包爲:libswt/win64/swt.jar