Centos8/window下kettle不能连接资源库出现白屏等问题的解决方案

前言

之前安装了kettle,不过在使用过程中出现了一系列问题,这里记录下来与大家分享。(2020/12/31更:极简解决方案在最后)

Winows

配置好数据库连接jar包后,点击connect后白屏或报错,这是由于ie浏览器版本低的缘故,我安装的是kettle8.3,要下载安装ie11,安装完成后重启电脑点击connect可以正常使用。

CentOS8

在CentOS下,我本来安装的也是Kettle8.3,不过点击connect却一直报错:

一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它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)

搜索了一下这个问题,发现,没有什么人解决,可能是Centos8太新了,kettle8.3也刚出来,

所以我就尝试使用kettle7.1
点击connect出现:

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)
.......

继续搜索,应该是调用不了浏览器,因为我想起在window上kettle的欢迎界面是直接在kettle里显示,而在centos下则是在浏览器中打开。
之后采用了这位老哥的思路:https://blog.csdn.net/gongli109/article/details/8174755

分析:从eclipse的官网大概知道:内置游览器要想在linux上跑有这两方面的依赖:
Webkit和Xulrunner 
检查一下系统的/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,这时它的内置游览器就应该可用了。
这时重新删除MOZILLA_FIVE_HOME环境变量,内置游览器仍然可用,
说明MOZILLA_FIVE_HOME这个环境变量不是靠手动来设置的,而是系统内部已经设定好的。

在之前一篇博客我有介绍安装kettle,在那时我就安装了Webkit,所以现在只需安装xulrunner
这里下载了最新的安装包,但是不能运行,不知道是什么原因,考虑到他是ubuntu,我是centos,还是会有差异
之后采用了这位老哥的方法:https://blog.csdn.net/butingnal/article/details/73498703

根据系统的版本,下载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,发现可以跳出界面了,但是白屏
又搜索之,按照这位大佬的方法: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()"/>

这里其实相当于自己开了一个入口,现在可以点击左上角文件—>openZiyuanku,进入资源库连接了

在这里插入图片描述

在这里插入图片描述
— 2020年12月31号更新----

安装pdi8.0版本
修改spoon.sh,将
将export SWT_GTK3=0配置改为export SWT_GTK3=1即可解决这个问题。

后记

有问题欢迎讨论

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值