java.sql.SQLException: 找不到适合 jdbc 的驱动程序
java.sql.SQLException: No suitable driver found for jdbc
我正在尝试 运行 使用 JDBC 进行一些查询并不断收到此错误:
Exception in thread "main" java.lang.IllegalStateException: error
at com.mycompany.app.App.writer(App.java:195)
at com.mycompany.app.App.main(App.java:19)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname
这是我的代码的相关部分:
public class App {
writer();
}
public static void writer() {
String url = "jdbc:mysql://localhost:3306/dbname
String username = "root";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
Statement st = connection.createStatement();
ResultSet r= st.executeQuery("insert query here");
} catch (SQLException e) {
throw new IllegalStateException("error");
}
}
}
当我通过 Intellij Idea 运行 它工作时,但我需要它 运行 在服务器 运行ning Centos 上。
我已经尝试 运行 使用以下命令对其进行设置:
javac -cp "filepath/mysql-connector-java-5.1.35-bin.jar" App.java
java -cp ".filepath/mysql-connector-java-5.1.35-bin.jar" App
我已经尝试 运行使用 maven 对其进行调试,包括
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
在 pom.xml 中仍然得到同样的错误
翻了很多网上的文章(和堆题)还是没找到解决办法
服务器是运行ning CentoOS 6.6,数据库是运行ning本地。
我正在使用:
java 版本“1.8.0_45”
Java(TM) SE 运行时环境(build 1.8.0_45-b14)
Java HotSpot(TM) 64 位服务器 VM(内部版本 25.45-b02,混合模式)
类 Unix 操作系统上类路径中的条目必须用 :
分隔。在.
(表示当前目录)和jar的路径之间添加一个:
:
java -cp .:filepath/mysql-connector-java-5.1.35-bin.jar App
或者,您可以将 mysql-connector-java-5.1.35-bin.jar
放入以下目录 -
JAVA_HOME/jre/lib/ext
如果您将 jar
放在此目录中,则不必使用命令将其添加到 classpath
。
您可以尝试使用 class.forName("qualified name of driver class")
加载驱动程序 class。如果您没有遇到 Maven 的 class 路径问题,这应该可以解决问题。看看 哪里
索引标签已从 pom 中删除并且它有效。
我正在尝试 运行 使用 JDBC 进行一些查询并不断收到此错误:
Exception in thread "main" java.lang.IllegalStateException: error
at com.mycompany.app.App.writer(App.java:195)
at com.mycompany.app.App.main(App.java:19)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname
这是我的代码的相关部分:
public class App {
writer();
}
public static void writer() {
String url = "jdbc:mysql://localhost:3306/dbname
String username = "root";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
Statement st = connection.createStatement();
ResultSet r= st.executeQuery("insert query here");
} catch (SQLException e) {
throw new IllegalStateException("error");
}
}
}
当我通过 Intellij Idea 运行 它工作时,但我需要它 运行 在服务器 运行ning Centos 上。
我已经尝试 运行 使用以下命令对其进行设置:
javac -cp "filepath/mysql-connector-java-5.1.35-bin.jar" App.java
java -cp ".filepath/mysql-connector-java-5.1.35-bin.jar" App
我已经尝试 运行使用 maven 对其进行调试,包括
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
在 pom.xml 中仍然得到同样的错误
翻了很多网上的文章(和堆题)还是没找到解决办法
服务器是运行ning CentoOS 6.6,数据库是运行ning本地。
我正在使用:
java 版本“1.8.0_45” Java(TM) SE 运行时环境(build 1.8.0_45-b14) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.45-b02,混合模式)
类 Unix 操作系统上类路径中的条目必须用 :
分隔。在.
(表示当前目录)和jar的路径之间添加一个:
:
java -cp .:filepath/mysql-connector-java-5.1.35-bin.jar App
或者,您可以将 mysql-connector-java-5.1.35-bin.jar
放入以下目录 -
JAVA_HOME/jre/lib/ext
如果您将 jar
放在此目录中,则不必使用命令将其添加到 classpath
。
您可以尝试使用 class.forName("qualified name of driver class")
加载驱动程序 class。如果您没有遇到 Maven 的 class 路径问题,这应该可以解决问题。看看