『Class Not Found Exception:ドライバ名』のエラーが発生したときの対処法をご紹介します!
目次
はじめに
こんにちは。ゼネットの山﨑です。
ラノベのような長ったらしいタイトルを見て「タイトル長いけど、自分が知りたい情報が載ってそうだし見るか!」と決めてくれたそこのあなた! このブログに目をとめてくれてありがとうございます!
このブログでは実際に私が『Class Not Found Exception:ドライバ名』のエラーが発生したときに、どこを確認して、どうやって対処したのかをご紹介します。確認してほしいポイントは後述する3点です。
確認ポイント
①:ドライバを指定する部分の誤字脱字
誤字脱字。これは誰にでも起こりうるものですね。私も実際に「org.postgresql.Driver」とするところを「org.postgresol.Driver」(sqlにするはずがsolになっている)と書いてしまい、エラーを発生させました・・・。
これの確認すべきところは簡単。DAOクラスのClass for Nameでドライバを指定している部分に誤字脱字がないかを確認するだけです。
②:使用するドライバが作成しているプロジェクトのビルドパスにあるか
様々なプロジェクトを作成した人がやりがちなミス。ドライバの追加を忘れてしまったがために、エラーを発生させてしまう。
ドライバがビルドパスに追加されているのかの確認は、以下の手順でできます。
─────ビルドパスにドライバがあるか確認する方法──────
① 作成しているプロジェクトを右クリック
② ビルドパス→ビルドパスの構成
③ ライブラリをクリック
④ 使用したいドライバがあるかを確認
↓ ビルドパスの確認の仕方
↓ ↓ ↓
ビルドパスにドライバがなかったら、確認と同じ手順で画像右側の「外部JARの追加」で追加しましょう!
③:WEB-INFフォルダにlibフォルダ、および使用するドライバがあるか
これは盲点。「ドライバをビルドパスに追加したからできるでしょ!」と思った矢先に発生するエラー。
これの確認の仕方は確認ポイント②よりも簡単。確認手順は以下のとおりです。
─────────libフォルダにドライバがあるか確認する方法──────────
① 作成しているプロジェクトのWEB-INFフォルダを開く
② libフォルダを開く(場合によってはlibフォルダがないときも。そんなときの対処法も後述しています。)
③ libフォルダ直下にドライバがあるか確認する
ここで注意してほしいのが、libフォルダの直下にあるということ。libフォルダの中にあるフォルダの中にドライバがあってもエラーが発生します。
libフォルダ直下にドライバがなかった場合は、以下の手順で追加しましょう。
─────libフォルダ直下にドライバを入れる方法─────
① ダウンロードしたドライバが入っているフォルダをエクスプローラーからドラッグしてweb-infのlibフォルダに入れる
② ドライバが入ったフォルダを開いて使いたいドライバを右クリック
③ 移動(もしくは「リファクタリング→移動」)
④ lib直下になるように移動させる
WEB-INFフォルダにlibフォルダがないよという方は、WEB-INFフォルダにlibフォルダを自分で作ってから上記の手順でやるとできます。libフォルダの作成手順は
プロジェクト右クリック→新規→フォルダ→名前を「lib」で作成
『Class Not Found Exception:ドライバ名』ってどんなエラー?
ここまで『Class Not Found Exception:ドライバ名』のエラーの対処法を見てきましたが、そもそもこのエラーは何を表しているのか。このエラーはわかりやすく言うと、使いたいドライバが見つからないよというエラーです。なので、ドライバの名前が間違いや、ドライバがプロジェクトに追加されていないと、このエラーがコンソール欄に表示されるのです。
終わりに
『Class Not Found Exception:ドライバ名』のエラーの対処法として誤字脱字といったありきたりなものから、少し操作しないと確認できないものまで見てきました。どれにも共通して言えることは、少し確認すれば対処できるというところ。ほんの少しの確認でこのエラーは解決できるということを知らせたく、このブログを作成しました。
参考文献
https://software.fujitsu.com/jp/manual/manualfiles/M080041/B1WN9531/09Z200/msg43/msg11839.htm