After upgrading from openjdk 15 to openjdk 16, pentaho data integration (version pdi-ce-9.1.0.0-324) throws a java class error. To reproduce the error message download and install openjdk 16 from https://adoptopenjdk.net/releases.html?variant=openjdk16&jvmVariant=openj9 and start PDI spoon:
bash /opt/pentaho/pdi-ce-9.1.0.0-324/spoo.sh
Error trace:-
java.lang.reflect.InaccessibleObjectException: Unable to make field private static final sun.net.www.protocol.jar.JarFileFactory sun.net.www.protocol.jar.JarURLConnection.factory accessible: module java.base does not "opens sun.net.www.protocol.jar" to unnamed module @a0ceb808
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at org.pentaho.di.core.plugins.KettleURLClassLoader.getFieldObject(KettleURLClassLoader.java:176)
at org.pentaho.di.core.plugins.KettleURLClassLoader.closeClassLoader(KettleURLClassLoader.java:230)
at org.pentaho.di.core.plugins.BasePluginType.registerPluginJars(BasePluginType.java:725)
at org.pentaho.di.core.plugins.BasePluginType.searchPlugins(BasePluginType.java:184)
at org.pentaho.di.core.plugins.PluginRegistry.registerType(PluginRegistry.java:605)
at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:577)
at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:545)
at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:146)
at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:101)
at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:82)
at org.pentaho.di.kitchen.Kitchen$1$1.call(Kitchen.java:95)
at org.pentaho.di.kitchen.Kitchen$1$1.call(Kitchen.java:89)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:853)
Anyone experienced this error or know what is the cause?