java连接MySQL时报错,unable to find valid certification path to requested target

java连接mysql报错信息

05-Dec-2020 13:56:59.027 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常
	java.lang.RuntimeException: Plugin start error: com.jfinal.plugin.activerecord.ActiveRecordPlugin. 
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 356 milliseconds ago.  The last packet sent successfully to the server was 351 milliseconds ago.
		at com.jfinal.core.Config.startPlugins(Config.java:116)
		at com.jfinal.core.Config.configJFinal(Config.java:53)
		at com.jfinal.core.JFinal.init(JFinal.java:63)
		at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
		at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
		at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
		at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
		at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4538)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
		at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
		at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1840)
		at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:748)
	Caused by: com.jfinal.plugin.activerecord.ActiveRecordException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 356 milliseconds ago.  The last packet sent successfully to the server was 351 milliseconds ago.
		at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:50)
		at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:209)
		at com.jfinal.core.Config.startPlugins(Config.java:107)
		... 19 more
	Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 356 milliseconds ago.  The last packet sent successfully to the server was 351 milliseconds ago.
		at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
		at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
		at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
		at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
		at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
		at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988)
		at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:164)
		at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4894)
		at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1661)
		at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228)
		at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
		at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
		at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
		at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
		at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
		at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
		at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
		at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
		at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
		at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
		at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
		at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
		at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1461)
		at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1525)
		at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:734)
		at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1060)
		at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1056)
		at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:104)
		at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:38)
		... 21 more
	Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
		at sun.security.ssl.Alert.createSSLException(Alert.java:131)
		at sun.security.ssl.TransportContext.fatal(TransportContext.java:353)
		at sun.security.ssl.TransportContext.fatal(TransportContext.java:296)
		at sun.security.ssl.TransportContext.fatal(TransportContext.java:291)
		at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:652)
		at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:471)
		at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:367)
		at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376)
		at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
		at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
		at sun.security.ssl.TransportContext.dispatch(TransportContext.java:183)
		at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
		at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1279)
		at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1188)
		at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
		at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
		at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:149)
		... 43 more
	Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
		at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
		at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
		at sun.security.validator.Validator.validate(Validator.java:271)
		at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:312)
		at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221)
		at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:128)
		at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:636)
		... 55 more
	Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
		at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
		at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
		at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
		at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
		... 61 more

mysql的配置信息

jdbcUrl = jdbc:mysql://127.0.0.1:3306/wawaji?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
user = root
password =root

错误解决

将jdbcUrl中的useSSL去掉即可,修改之后为

jdbcUrl = jdbc:mysql://127.0.0.1:3306/wawaji?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
user = root
password =root
上一篇:查看JVM运行参数jinfo命令


下一篇:JDK Mission Control 入门