StackOverflowError当试图建立连接到MySQL数据库



当我试图通过使用Java jdbc驱动程序建立到MySQL数据库的连接时,我目前得到一个非常奇怪的错误。这个错误并不能真正帮助我解决问题。我该如何解决这个问题?

请查看下面的代码和错误信息:

public static void main (String[] args) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException{

Class.forName("com.mysql.cj.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3305/testDB", "root", "");
}
Exception in thread "main" java.lang.StackOverflowError
at java.base/javax.crypto.Cipher.init(Cipher.java:1430)
at java.base/sun.security.ssl.SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher.encrypt(SSLCipher.java:2019)
at java.base/sun.security.ssl.OutputRecord.t13Encrypt(OutputRecord.java:451)
at java.base/sun.security.ssl.OutputRecord.encrypt(OutputRecord.java:414)
at java.base/sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:316)
at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1212)
at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
at com.mysql.cj.protocol.a.SimplePacketSender.send(SimplePacketSender.java:55)
at com.mysql.cj.protocol.a.TimeTrackingPacketSender.send(TimeTrackingPacketSender.java:50)
at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:568)
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:632)
at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2107)
at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)
at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)
...
at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)

附加备注:mysql_connector被添加到类路径中,端口3305是活动的

Connector/J连接建立的文档建议使用这一行。

Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

试试。