View Only

 Unable to create database connection on MacOS

  • Pentaho
  • Kettle
  • Pentaho
  • Pentaho Data Integration PDI
Nathan Farmer's profile image
Nathan Farmer posted 12-01-2020 19:02

I have installed Kettle on MacOS and it opens fine. This issue is when I go to create a Database Connection I am getting this error:

org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException

And after clicking OK there is this message:

General error in dialog

I believe I am using the correct Java. I have upgraded to PDI 9.1 and according to the documentation I have found, Java 8 is still the supported Java.


My Config:

  • MacOS 10.15.7 (Catalina)
  • Pentaho Data Integration (or Kettle)
  • Java jdk1.8.0_161.jdk

Sergio Ribeiro's profile image
Sergio Ribeiro

Hello @Nathan Farmer​,


Yes, Java 8 is the supported Java version.

If you are sure to be using Java 8, check the SWT version on your system.

Check this community post:




Sérgio Ribeiro

Porto - Portugal


Nathan Farmer's profile image
Nathan Farmer

Hi @Sergio Ribeiro​ ,


I tried updating SWT, but this has not solved my problem.

Dejan Gambin's profile image
Dejan Gambin

I have the same issue on my new Mac M1. I followed this: and all went well but this error is present. I use 8.2 with OpenJDK Runtime Environment (Temurin)(build 1.8.0_362-b09). 

If I can see, the problem is with TableTreeItem class not being found in swt library. Any clue on this?

regards, dejan

Diana Stanley's profile image
Diana Stanley

Based on the error message you are seeing, it seems that there might be a problem with the Java installation or configuration. Here are a few things you can try to resolve the issue:

Check if the Java version you are using is compatible with Pentaho Data Integration (Kettle) 9.1. According to the Pentaho documentation, Java 8 is still the supported Java version for Kettle 9.1, so it seems like you have the correct Java version installed.

Make sure that the Java path is set correctly. You can do this by running the command echo $JAVA_HOME in the terminal. If the command returns a blank line, it means that the Java path is not set. In that case, you can set the Java path by adding the following line to the .bash_profile file in your home directory:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home

After adding this line, save the .bash_profile file and restart the terminal.

Check if there are any conflicting Java installations on your system. To do this, run the command java -version in the terminal. If the output shows a different Java version than the one you have installed, it means that there might be a conflicting Java installation on your system. In that case, you can try uninstalling the conflicting Java version or changing the Java path to point to the correct Java installation.

Try running Kettle as an administrator. Sometimes, Kettle might require administrator privileges to access certain files or settings. To do this, right-click on the Kettle icon and select "Run as administrator".  HEB Partner

Dejan Gambin's profile image
Dejan Gambin


I have done all this but it doesn't work because of TableTreeItem class not being found. I have resolved the issue thanks to Daniel and this post:

regards, dejan