Maven:找不到适合 jdbc::mysql://google 的驱动程序
Posted
技术标签:
【中文标题】Maven:找不到适合 jdbc::mysql://google 的驱动程序【英文标题】:Maven: No suitable driver found for jdbc::mysql://google 【发布时间】:2020-07-09 15:15:13 【问题描述】:我正在尝试使用以下代码将我的 Java Maven 项目(在 Jetty 服务器上运行)连接到 Google Cloud mysql 数据库:
private static final String CREDENTIALS_STRING = "jdbc::mysql://google/weatherplanning?cloudSqlInstance=csci310-project-2:us-central1:myinstance&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false&user=xxxx&password=xxxx";
try
System.out.println("Connecting to database...");
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(CREDENTIALS_STRING);
catch (SQLException | ClassNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
我已经在我的 pom.xml 中包含了这两个依赖项:
<dependency>
<groupId>com.google.cloud.sql</groupId>
<artifactId>mysql-socket-factory-connector-j-8</artifactId>
<version>1.0.15</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
我来了
java.sql.SQLException: 没有为 jdbc::mysql://google 找到合适的驱动程序...
我不知道该怎么办。我假设依赖项应该处理将 JDBC 驱动程序添加到我的类路径。
【问题讨论】:
您打错字了,应该是jdbc:mysql://....
一个冒号,而不是jdbc
和mysql
之间的两个冒号。
【参考方案1】:
您的问题看起来像是您的 JDBC 网址中有错字。您的网址应以jdbc:mysql
开头,而不是jdbc::mysql
。
此外,you should always use a connection pool(如Hikari)。连接池有很多好处,包括更好的错误处理、指数退避和减少延迟。
您可以在context of a web application in this sample 中查看与 Cloud SQL JDBC 套接字工厂一起使用的 Hikari。 Full instructions for deploying it are in the sample's README.
【讨论】:
以上是关于Maven:找不到适合 jdbc::mysql://google 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
Openshift - 找不到适合 jdbc:mysql 的驱动程序
如何修复:“找不到适合 jdbc:mysql://localhost/dbname 的驱动程序”
在 JMETER JDBC 连接配置中找不到适合 jdbc:mysql://localhost:3306/Testing 的驱动程序
找不到适合 jdbc:mysql/localhost:3306/world 的驱动程序
SQLException: 找不到适合 jdbc:mysql://localhost:3306/dbname 的驱动程序