ほとんどの人がまったく同じ質問に答えたように、ライブラリ「mysql-connector-Java-5.1.39」をインポートしましたが、それでもこのエラーが発生します
Java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
これがテストクラスのコードです
package database;
import Java.sql.Connection;
import Java.sql.DriverManager;
public class Main {
public static void main(String[] args) throws Exception {
getConnection();
}
public static Connection getConnection() throws Exception {
try{
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/test";
String username="root";
String password="root";
Class.forName(driver);
Connection conn= DriverManager.getConnection(url,username,password);
System.out.println("connected");
return conn;
}
catch (Exception e){
System.out.println(e);
}
return null;
}
}
MacOSを使用します。
誰もが私の後に繰り返します。 (:-))
「Java.lang.ClassNotFoundException:com.mysql.jdbc.Driver」はコンパイルエラーではありません。
したがって、>> build <<パスを変更したり、import
を追加したりしても、問題を解決することはできません。
解決策は、アプリケーションの実行時にJARファイルがクラスパス上にあることを確認することです。たとえば、テストクラスがbin\database\Main.class
にあり、ドライバーJARがlib
にある場合...
$ Java -classpath bin:lib/mysql-connector-Java-5.1.39.jar database.Main
jarがすでに外部ライブラリに追加されている場合、単に追加できます:
import com.mysql.jdbc.Driver;
そしてそれはあなたのクラスで働くでしょう。
これはさらに役立ちます SO-21580499
コード内の「Java.lang.ClassNotFoundException:com.mysql.jdbc.Driver」の最も考えられる理由のいくつかは次のとおりです。
アプリがMicrosoftSQLServerのJDBCドライバーを見つけられないようです。以下からダウンロードして、jarをWEB-INF/libに追加できます。
https://www.Microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
次のいずれかが欠落している可能性があります。エラーを削除するには、次の両方が必要です。
Mysql-connector.jarファイルをWebContent/WEB-INF/libフォルダーに追加します。
クラスパスにmysql-connector.jarファイルを追加する
https://mvnrepository.com/artifact/mysql/mysql-connector-Java/8.0.11 からmysql-connector.jarをダウンロードします。
最初の問題を解決するには、上記でダウンロードしたjarファイルをプロジェクトのWebContent/WEB-INF/libフォルダーに貼り付けます。
2番目の問題を解決するには-プロジェクトを右クリックし、propertiesに移動してから、Java Build Pathそしてライブラリセクションでを選択外部JARをクリックし、上記でダウンロードしたjarファイルを選択します。
それが役に立てば幸い。