在CentOS下,我本來安裝的也是Kettle8.3,不過點擊connect卻一直報錯:
一個未預期的錯誤發(fā)生在Spoon: probable cause:在停止Spoon前,請先關(guān)閉其它spoon窗口!
No more handles because no underlying browser available.
? SWT on GTK 2.x detected. It is reccomended to use SWT on GTK 3.x and Webkit2 API.
org.eclipse.swt.SWTError: No more handles because no underlying browser available.
? SWT on GTK 2.x detected. It is reccomended to use SWT on GTK 3.x and Webkit2 API.
at org.eclipse.swt.SWT.error(SWT.java:4621)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:128)
at org.pentaho.di.ui.core.dialog.ThinDialog.createDialog(ThinDialog.java:77)
at org.pentaho.di.ui.repo.dialog.RepositoryDialog.openManager(RepositoryDialog.java:104)
at org.pentaho.di.ui.repo.menu.RepositoryConnectMenu$2$2.widgetSelected(RepositoryConnectMenu.java:180)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5797)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5051)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4583)
at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1384)
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
所以我就嘗試使用kettle7.1點擊connect出現(xiàn)
Nomore handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
org.eclipse.swt.SWTError:No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
atorg.eclipse.swt.SWT.error(SWT.java:4109)
atorg.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1672)
atorg.eclipse.swt.browser.Mozilla.create(Mozilla.java:637)
atorg.eclipse.swt.browser.Browser.<init>(Browser.java:119)
atorg.eclipse.ui.internal.browser.BrowserViewer.<init>(BrowserViewer.java:225)
.......
繼續(xù)搜索,應(yīng)該是調(diào)用不了瀏覽器,因為我想起在window上kettle的歡迎界面是直接在kettle里顯示,而在centos下則是在瀏覽器中打開。
分析:從eclipse的官網(wǎng)大概知道:內(nèi)置游覽器要想在linux上跑有這兩方面的依賴:
Webkit和Xulrunner
檢查一下系統(tǒng)的/usr/lib下面確實沒有xulrunneryyu
于是在https://developer.mozilla.org/en-US/docs/Gecko_SDK下載xulrunner-sdk
得到一個這樣的文件:xulrunner-3.6.28.en-US.linux-i686.sdk.tar.bz2解壓一下
cd xulrunner-sdk/bin
./xulrunner–register-global //注冊一下xulrunner
重新啟動一下eclipse,這時它的內(nèi)置游覽器就應(yīng)該可用了。
這時重新刪除MOZILLA_FIVE_HOME環(huán)境變量,內(nèi)置游覽器仍然可用,
說明MOZILLA_FIVE_HOME這個環(huán)境變量不是靠手動來設(shè)置的,而是系統(tǒng)內(nèi)部已經(jīng)設(shè)定好的。
在之前一篇博客我有介紹安裝kettle,在那時我就安裝了Webkit,所以現(xiàn)在只需安裝xulrunner
這里下載了最新的安裝包,但是不能運行,不知道是什么原因,考慮到他是ubuntu,我是centos,還是會有差異
根據(jù)系統(tǒng)的版本,下載xulrunner
下載地址:
http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/2012/03/2012-03-02-03-32-11-mozilla-1.9.2/xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2?cm_mc_uid=08168416471414670141294&cm_mc_sid_50200000=1497942238
或者
http://ftp.mozilla.org/pub/xulrunner/releases/latest/sdk/
得到一個這樣的文件:xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar解壓一下
//注冊一下xulrunner
./xulrunner –register-global
重啟一下kettle程序,再試connect,可以了。
這里我是訪問第一個下載地址直接下載了xulrunner解壓,然后注冊,可以運行。
之后重啟kettle,點擊connect,發(fā)現(xiàn)可以跳出界面了,但是白屏
又搜索之,按照這位大佬的方法:https://blog.csdn.net/ws379374000/article/details/88884656
cd data-integration/ui
vim menubar.xul
在31行加入
<menuitem id="file-openZiyuanku" label="openZiyuanku" command="spoon.openRepository()"/>
這里其實相當于自己開了一個入口,現(xiàn)在可以點擊左上角文件—>openZiyuanku,進入資源庫連接了
安裝pdi8.0版本
修改spoon.sh,將
將export SWT_GTK3=0配置改為export SWT_GTK3=1即可解決這個問題。
(最后一句話是重點,一定要加上)