前提
[現在のスキル]
・Java Silver SE11資格保持者。Java Gold SE11 に向けて独学で資格取得を目指して学習中。実務経験&開発経験なし。
[手順]
1.JDBCドライバである該当のjarファイルを以下の通り、システムの(5のユーザー)環境変数に登録する。
C:\Users\5\OneDrive\デスクトップ\JavaSeGold\Purple\chap10\1\mysql-connector-java-8.0.12.jar
2.下記太字のコマンドを入力しコンパイルする。
C:\Users\5\OneDrive\デスクトップ\JavaSeGold\Purple\chap10\1>javac -encoding UTF-8 chkLoadJdbc.java
3.下記太字のコマンドを入力し実行する。
C:\Users\5\OneDrive\デスクトップ\JavaSeGold\Purple\chap10\1>java chkLoadJdbc
4.以下の通り、実行時エラーが発生する。(詳細はエラーメッセージ参照)
java.lang.ClassNotFoundException
実現したいこと
実行時に「ドライバのロードに成功しました」メッセージが表示されるようにしたい。(現在も調査中です。詳細は随時追記いたします。)
発生している問題・エラーメッセージ
java.lang.ClassNotFoundException: com.mysql.jdbc.cj.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:375) at chkLoadJdbc.main(chkLoadJdbc.java:4)
該当のソースコード
chkLoadJdbc.java
1public class chkLoadJdbc { 2 public static void main(String[] args) { 3 try { 4 Class.forName("com.mysql.jdbc.cj.Driver").newInstance(); 5 System.out.println("ドライバのロードに成功しました"); 6 } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e){ 7 e.printStackTrace(); 8 } 9 } 10}
試したこと
1.ClassforName引数のドライバのFQCN名の確認→MySQL 8.0の為、com.mysql.jdbc.cj.Driverでok
2.JARファイルにクラスパスが正しく通っているか確認→前提1にて「C:\Users\5\OneDrive\デスクトップ\JavaSeGold\Purple\chap10\1\mysql-connector-java-8.0.12.jar」を登録でok
補足情報(FW/ツールのバージョンなど)
Windows 10 Home 64bit
java version "1.6.0_17"
MySQL 8.0
Visual Studio Code 1.71.2
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/28 06:23
退会済みユーザー
2022/09/28 08:30