MacOS安装使用Kettle
一、环境说明
操作系统版本:macOS Big Sur 11.6.1
机型:Intel版本
JDK版本:Amazon Corretto-openjdk8
Kettle版本:Kettle8、9
二、问题说明
jdk是直接下载的pkg包安装完成,终端输入java -version后可以正常查询到jdk版本;
直接运行“Data Integration”或者终端运行“spoon.sh”均打开等待一段时间后闪退,查看log文件报错如下(隐藏部分具体错误说明):
org.pentaho.ui.xul.XulException: java.lang.NullPointerException
at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:135)
at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)
at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:122)
...
Caused by: java.lang.NullPointerException
at org.eclipse.swt.widgets.Control.internal_new_GC(Unknown Source)
at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
...
... 26 more
org.pentaho.di.core.exception.KettlePluginException:
Unexpected error loading class:
java.lang.NullPointerException
at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:503)
at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:340)
...
Caused by: org.pentaho.ui.xul.XulException: java.lang.NullPointerException
at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:135)
at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)
...
... 15 more
Caused by: java.lang.NullPointerException
at org.eclipse.swt.widgets.Control.internal_new_GC(Unknown Source)
at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
at org.eclipse.swt.widgets.Table.setScrollWidth(Unknown Source)
...
... 26 more
更换kettle版本或者更换jdk为zulu jdk8依然不能解决问题,通过查询资料并验证,解决方案如下:
三、解决方案
3.1JDK
JDK必须使用Oracle的JDK1.8.0_202版本。
JDK可以通过官网查询下载,这里给出百度网盘链接
百度网盘链接: https://pan.baidu.com/s/1wwnoeYwrinQbialUcUYlYA 提取码: wyey
保险期间请手动配置环境变量。
如果之前有安装其他JDK,建议彻底删除,删除命令如下(请在终端执行):
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/PreferencesPanes/JavaControlPanel.prefpane
sudo rm -rf /Library/Java/JavaVirtualMachines/*
清理干净后,安装下载jdk1.8.0_202版本,然后根据一下命令配置环境:
# 确保在根目录
cd ~
# vi打开配置文件
vi .bash_profile
# 在配置文件末尾增加如下代码(在待插入位置按一下i键进入编辑模式)
#JAVA
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
# 添加完成后报错退出(按ESC退出编辑模式,输入":wq"保存退出)
# 刷新配置文件
source .bash_profile
3.2Kettle
测试几个版本都无法使用,先给出经测试后可用的版本下载地址:
官方链接:https://udomain.dl.sourceforge.net/project/pentaho/Pentaho 9.1/client-tools/pdi-ce-9.1.0.0-324.zip
百度网盘链接:https://pan.baidu.com/s/1ltrZjQDRR2hSrnQO3Qfl_Q 提取码:uk6c
下载完成后直接解压,然后拖动“spoon.sh”文件到终端窗口,回车即可运行。
3.3其他
仅测试了Intel机型苹果系统,未测试M1机型,不见得可用;
Kettle版本也未能测试多个版本,不确定其他版本是否可用;
其他问题欢迎反馈。
四、参考资料
MacOS安装使用Kettle的更多相关文章
- macOS 安装 Java (Homebrew)
macOS 安装多个 Java 版本 Homebrew 是 macOS 下的一个非常好用的包管理工具, caskroom 则是基于 Homebrew 构建的一个强大的应用程序管理器. Homebrew ...
- macOS 安装 ctags
macOS 安装 ctags macOS 自带一个 ctags,但是不支持 -R 参数,递归产生tags文件 $ ctags -R --exclude=.git --exclude=log * cta ...
- MacOs 安装cordova报无权访问题解决方案
在MacOS安装cordova后,执行cordova -v报错: Error: EACCES: permission denied, open '/Users/jianuonuo/.config/co ...
- macOS 安装 Docker
系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...
- macOS 安装配置yaf框架 生成yaf项目
macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...
- MacOS安装Docker傻瓜式教程
最近电脑越来越卡了,为了减少系统开销,以及后期维护方便,所以考虑将本地安装一些服务迁移到docker中去管理,这一切的基础是要先有docker服务,所以本文就先记录怎样在mac上安装配置docker, ...
- 苹果 macOS 安装 Source Code Pro
1. 下载 到 Source Code Pro 的 GitHub 官网下载:https://github.com/adobe-fonts/source-code-pro 点击 GitHub 中 ...
- macOS 安装 Docker Desktop CE(转)
现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...
- macOS安装Python MySQLdb
macOS安装Python MySQLdb 0. 参考 Mac OS X - EnvironmentError: mysql_config not found 1. 背景 import MySQLdb ...
随机推荐
- Python 利用GDAL对图像进行几何校正
原文链接:https://blog.csdn.net/qq_27045589/article/details/81062586 一.几何校正方法 图像校正本质是建立一种从原始图像行列号到某种投影的数学 ...
- python实现遥感图像阈值分割
1.阈值分割 import os import cv2 import numpy as np import matplotlib.pyplot as plt from osgeo import gda ...
- 20210809 Merchant,Equation,Rectangle
做过,但当时咕了 T3 Merchant 先特判 \(t=0\),之后斜率一定会起作用. 考虑最终选择的物品集合,它们的斜率和一定大于 \(0\),因此答案具有单调性,可以二分. 实现的时候注意细节 ...
- TreeListLookUpEdit控件使用
绑定数据 treeListLookUpEdit1.Properties.DataSource=list;增加列treeListLookUpEdit1.Properties.TreeList.Colum ...
- 前后端数据交互(八)——请求方法 GET 和 POST 区别
WEB 开发同学一看 get 和 post 请求方法的区别,第一感觉都是 So easy! 学习ajax.fetch.axios时,发送网络请求携带参数时,都需要分别处理get和post的参数.所以我 ...
- Markdown主要语法及使用
最近,我发现使用Markdown这一标记语言的人越来越多了,我也去试了一下,感觉确实在编辑文档上方便了很多.于是我将一些关于Markdown的语法和编写时的快捷键整理在这里,方便以后查阅,也欢迎评论区 ...
- 多选Combobox的实现(适合MVVM模式)
MVVM没有.cs后台逻辑,一般依靠command驱动逻辑及通过binding(vm层的属性)来显示前端 我的数据类Student有三个属性int StuId ,string StuName ,boo ...
- WebView(网页视图)基本用法
资料来源于菜鸟教程 啊这官方文档居然失效了,打不开.那我们直接就看相关方法: WebChromeClient:辅助WebView处理Javascript的对话框.网站图标.网站title.加载进度等! ...
- 【Python学习】print语句
一.print 可以向屏幕上输出信息,print 后面一个空格再加上''中间放入要输出的内容. 二.print可以用逗号分隔语句,但是每有一个逗号就会出来一个空格. 1 >>> pr ...
- [Navicat15 试用期过期解决办法]
Navicat15 试用期过期解决办法 第一步:关闭Navicat 第二步: 打开注册表编辑器,win + R, 输入regedit 第三步: 在最上方搜索框输入HKEY_CURRENT_USER\S ...