[英]java.sql.SQLException: No suitable driver found for jdbc:oracle:thin
[英]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運行它時,它可以工作,但是我需要它在運行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中,仍然出現相同的錯誤
我在網上瀏覽了許多文章(以及有關堆棧的問題),但仍然找不到解決方案。
服務器正在運行CentoOS 6.6,數據庫正在本地運行。
我在用:
Java版本“ 1.8.0_45” Java™SE運行時環境(內部版本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.forName("qualified name of driver class")
。 如果您沒有遇到Maven的類路徑問題,這應該可以解決該問題。 看一看這個地方從POM移除索引標記和它的工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.