错误连接数据库 [MySQL_local] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Connection failed. Verify all connection parameters and confirm that the appropriate driver is installed.
java.lang.NoClassDefFoundError: Could not initialize class sun.security.ssl.SSLContextImpl$TLSContext
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Connection failed. Verify all connection parameters and confirm that the appropriate driver is installed.
Caused by: java.sql.SQLException: java.lang.NoClassDefFoundError: Could not initialize class sun.security.ssl.SSLContextImpl$TLSContext
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:878)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:874)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:421)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:683)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:589)
... 42 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "Thread-10"]
at java.base/javax.crypto.Cipher.getInstance(Cipher.java:547)
at java.base/sun.security.ssl.SSLCipher.isTransformationAvailable(SSLCipher.java:511)
at java.base/sun.security.ssl.SSLCipher.<init>(SSLCipher.java:500)
at java.base/sun.security.ssl.SSLCipher.<clinit>(SSLCipher.java:82)
at java.base/sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:65)
at java.base/sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(SSLContextImpl.java:343)
at java.base/sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:556)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:383)
at java.base/java.lang.Class.forName(Class.java:376)
at java.base/java.security.Provider$Service.getImplClass(Provider.java:1982)
at java.base/java.security.Provider$Service.getDefaultConstructor(Provider.java:2013)
at java.base/java.security.Provider$Service.newInstanceOf(Provider.java:1927)
at java.base/java.security.Provider$Service.newInstanceUtil(Provider.java:1935)
at java.base/java.security.Provider$Service.newInstance(Provider.java:1910)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:185)
at org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:51)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:977)
at org.pentaho.versionchecker.VersionChecker.buildHttpClient(VersionChecker.java:413)
at org.pentaho.versionchecker.VersionChecker.performCheck(VersionChecker.java:367)
at org.pentaho.di.core.lifecycle.pdi.VersionCheckerListener$1.run(VersionCheckerListener.java:88)
at java.base/java.lang.Thread.run(Thread.java:833)
主机名 : localhost
端口 : 3306
数据库名:local_test
本地环境:JAVA 18 / MySQL 8.0.30 / Kettle 9.3
问题描述:首次安装Kettle,在测试数据库连接正确性时报错(报错内容如上),大致意思为SSLContext对象创建失败。
解决办法:暂未找到,临时切换到JAVA 8后解决。
MySQL驱动如图: