web-dev-qa-db-ja.com

CLASSPATH環境変数を使用しているにもかかわらずjava.lang.ClassNotFoundException

Javaを使用してmysqlデータベースに接続しようとしています。CLASSPATHにjdbcdriver jarファイルの完全なURLを追加しても、Java.lang.ClassNotFoundException:com.mysql.jdbc.Driverは私はここに何が欠けているのか教えてもらえますか?プロジェクトライブラリにjarファイルを追加しても動作しますが、CLASSPATH自体でそれを行いたい場合、クラスパスは次のようになります-C:\ jython2.5.1\javalib\mysql- connector-Java-5.1.12-bin.jar

これは私が取り組んでいる実際のプロジェクトではないことを明確にしたいと思います。私は実際にJythonでDjangoを使用していますが、これにはデータベースへのアクセスにJDBCドライバーが必要です。それがCLASSPATHのみを使用して行う必要がある理由です。

21
Nitin Garg

CLASSPATH環境変数は、onlyJava.exeコマンドで使用され、使用された場合でも使用されますwithout any -cp-classpath-jar引数。 Eclipse、Netbeans、IDEAなどのIDEではignoredです。

その環境変数は、移植性を損なうため、現実の世界でも貧弱なプラクティスと見なされます。つまりプログラムXは正常に実行されますが、プログラムYはCLASSPATHを変更しないと実行されません。それは「役に立つ」だけです 太陽 Oracleは、Javaチュートリアル。実世界では、コマンド全体だけでバッチ/シェルファイルが優先される場合、スターターが-cpまたは-classpath引数に何度も同じクラスパスを入力することにうんざりしないようにします。 -cp/-classpath引数が指定されています。

あなたのケースでは、IDEを使用しています。クラスパスは「ビルドパス」と呼ばれます。平易なJavaプロジェクトでは、bothコンパイル時および実行時のクラスパスを表します。プロジェクトのプロパティで設定できます。完全なフォルダを追加でき、個別に追加できます。/external JARファイル、プロジェクトなどをリンクできます。それを利用してください。CLASSPATH環境変数の使用は忘れてください。 太陽 オラクル。彼らはスターターを納得させると思っていましたが、その環境変数をtheクラスパスとして誤って解釈するため、スターターにとっては混乱を招くだけになりました。

こちらもご覧ください:

15
BalusC

最終的に助けになったのは、クラスパスサーカスJavaが提供しています:)しかし、環境は純粋なメモ帳/コマンドラインでした。

13
ValGe

私がNetbeansを使用してうまくいったのは、実行>プロジェクト構成の設定>カスタマイズです。 [ライブラリ]> [ライブラリの追加]をクリックします。 MySQL JDBCドライバーを追加しました(jarファイルをjre\lib\extフォルダーにコピーしたため、リストに表示されたと想定しています。シームレスに機能しました。

クラスパスを設定しようとしましたが、うまくいきませんでした。 Netbeans 7.0を使用しています

9
nandan

「Netbeans」でプロジェクトを右クリックしてプロパティを選択し、「ライブラリ」をクリックしてから「ライブラリを追加...」ボタンをクリックし、「MySQL JDBC Driver」を選択して「ライブラリを追加」ボタンをクリックし、「OK」 「ボタン

3
omid

以前にもこの問題がありましたが、mysql-connector-Java-5.1.34-bin.jarを追加/追加しました( here からダウンロードしてください) =)Apache-Tomcat-8.0.15\libフォルダーに移動し、プロジェクトを実行すると、実際に動作しました。

注:jarファイルを追加した後でもエラーが続く場合は、Tomcatサーバーを再起動して、プロジェクトを再実行してください。

3
Kyle

Mavenを使用している場合は、pom.xmlに依存関係を追加して問題を解決してください。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-Java</artifactId>
    <version>5.1.36</version>
</dependency>
2
Searene
  1. Netbeans IDEを開きます
  2. プロジェクトを右クリックします。
  3. プロパティを選択します。
  4. 左側で[ライブラリ]をクリックします。
  5. 「コンパイル」タブの下で-「Jar /フォルダの追加」ボタンをクリックします。
  6. ダウンロードした「mysql-connector-Java-5.1.25-bin.jar」ファイルを選択します( Connector/J dev.mysql.comから)
  7. OKをクリック
  8. もう一度実行...その作業。
2
Jay Patel

NetbeansでIDE作業しているプロジェクトのプロパティを確認し、プロパティウィンドウで 'library'タグに移動し、ダイアログボックスでmysql-connector-Java -* *。jarファイル。

1
Dharmik Chauhan

Netbeansでも同じ問題がありました。 context.xmlで定義されているTomcat接続プールを使用していたため、jdbc jarをプロジェクト(プロパティ->ライブラリ)とTomcatサーバー内のlib /フォルダーの両方に追加して、起動時に表示できるようにする必要がありました。

1
JPB