老师,我这里报错了是怎么回事呀
来源:3-1 使用流程
Richard1001
2020-08-24 15:38:36
D:\software\Java\jdk1.8.0_162\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\software\JetBrains\IntelliJ IDEA 2020.2\lib\idea_rt.jar=50925:D:\software\JetBrains\IntelliJ IDEA 2020.2\bin" -Dfile.encoding=UTF-8 -classpath "D:\software\JetBrains\IntelliJ IDEA 2020.2\lib\idea_rt.jar;D:\software\JetBrains\IntelliJ IDEA 2020.2\plugins\junit\lib\junit5-rt.jar;D:\software\JetBrains\IntelliJ IDEA 2020.2\plugins\junit\lib\junit-rt.jar;D:\software\Java\jdk1.8.0_162\jre\lib\charsets.jar;D:\software\Java\jdk1.8.0_162\jre\lib\deploy.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\access-bridge-64.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\cldrdata.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\dnsns.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\jaccess.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\jfxrt.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\localedata.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\nashorn.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\sunec.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\sunjce_provider.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\sunmscapi.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\sunpkcs11.jar;D:\software\Java\jdk1.8.0_162\jre\lib\ext\zipfs.jar;D:\software\Java\jdk1.8.0_162\jre\lib\javaws.jar;D:\software\Java\jdk1.8.0_162\jre\lib\jce.jar;D:\software\Java\jdk1.8.0_162\jre\lib\jfr.jar;D:\software\Java\jdk1.8.0_162\jre\lib\jfxswt.jar;D:\software\Java\jdk1.8.0_162\jre\lib\jsse.jar;D:\software\Java\jdk1.8.0_162\jre\lib\management-agent.jar;D:\software\Java\jdk1.8.0_162\jre\lib\plugin.jar;D:\software\Java\jdk1.8.0_162\jre\lib\resources.jar;D:\software\Java\jdk1.8.0_162\jre\lib\rt.jar;D:\file\IdeaProjects\sc\target\test-classes;D:\file\IdeaProjects\sc\target\classes;C:\Users\Richard\.m2\repository\mysql\mysql-connector-java\5.1.44\mysql-connector-java-5.1.44.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-core\4.0.2.RELEASE\spring-core-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-beans\4.0.2.RELEASE\spring-beans-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-context\4.0.2.RELEASE\spring-context-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-expression\4.0.2.RELEASE\spring-expression-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-aop\4.0.2.RELEASE\spring-aop-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-jdbc\4.0.2.RELEASE\spring-jdbc-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\org\springframework\spring-tx\4.0.2.RELEASE\spring-tx-4.0.2.RELEASE.jar;C:\Users\Richard\.m2\repository\junit\junit\4.11\junit-4.11.jar;C:\Users\Richard\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 Test
八月 24, 2020 3:36:26 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@11028347: startup date [Mon Aug 24 15:36:26 CST 2020]; root of context hierarchy
八月 24, 2020 3:36:26 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [spring.xml]
八月 24, 2020 3:36:26 下午 org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
信息: Loaded JDBC driver: com.mysql.jdbc.Driver
Mon Aug 24 15:36:27 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:386)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:435)
at Test.testExecute(Test.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Caused by: java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:864)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1746)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2191)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2222)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:779)
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:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:153)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:144)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:155)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:120)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
... 25 more
Process finished with exit code -1
1回答
同学你好,根据错误信息Unable to load authentication plugin 'caching_sha2_password'可能是数据库版本的问题。
请问你的数据库是mysql8吗?如果是建议你将mysql的依赖改为8.0版本。
在spring.xml中修改一下驱动和url,指定一下时区等参数,比如:
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/selection_course?userSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC"/>
修改后再来看看。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~