20

java.lang.ClassNotFoundExceptionコードを実行しようとすると 例外が発生します。

マイコード

   try 
   {
     Class.forName("com.mysql.jdbc.Driver");
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simple",
      "root","root");
     Statement stmt=con.createStatement();
     String query="SELECT * FROM CUST";
     ResultSet rs=stmt.executeQuery(query);
     while(rs.next())
     {
          System.out.print(rs.getString("CUST_NAME") +" ");
          System.out.print(rs.getString(2) +" ");
          System.out.print(rs.getString(3) +" ");

     }    
     rs.close();
     stmt.close();
     con.close();    
  }   
  catch (ClassNotFoundException e) 
  {
     e.printStackTrace();
  }
  catch (SQLException e) 
  {
     e.printStackTrace();
  }    

エラーが発生しています

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Simple.MyProg.main(MyProg.java:15)   

私は何を間違っていますか?

4

10 に答える 10

28

コードに問題はありませんが、プロジェクトにドライバーを追加していません!!! *.jarプロジェクトにドライバー を追加する必要があります...

これをlibディレクトリに入れてから、Tomcatを再起動してみてください...

問題はClass.forName("com.mysql.jdbc.Driver"); 、ドライバーをロードしようとしていますが、取得していないことです。これが取得している理由です。

java.lang.ClassNotFoundException.

于 2013-04-05T06:50:52.073 に答える
16

*.jar を WEB-INF/lib フォルダーにコピーしました -> うまくいきました。ビルドパスを介して含めると、毎回このエラーメッセージがありました。

于 2013-06-27T13:38:43.207 に答える
4

問題はMySqlドライバーに関連しています

Class.forName("com.mysql.jdbc.Driver");

MySQL jdbc ドライバーの jar ファイルをクラスパスに追加します。

また、JDKでこのエラーが発生しました。ClassPath を適切に構築し、「mysql-connector-java-5.1.25-bin」を「C:\Program Files\Java\jre7\lib\ext」というディレクトリに配置します。このディレクトリには JDK があります。次にコンパイルして再度実行すると、正常に動作します。

于 2013-07-15T07:22:00.410 に答える
2

クラスパスに jar (jdbc ドライバー) のパスを含めます。

于 2013-04-05T06:49:34.263 に答える
2

スタンドアロン プログラムの場合は、mysql コネクタ jar をダウンロードしてクラスパスに追加します。

Maven プロジェクトの場合は、以下の依存関係を追加してプログラムを実行します。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.37</version>
</dependency>
于 2016-10-13T13:02:53.210 に答える
2

実行中にこのエラーが発生した場合は、Web サーバーの lib フォルダーに mysql-connector JAR ファイルが含まれていない可能性があります。

ここで、mysql-connector-java-5.1.25-bin.jar をクラスパスと Web サーバーの lib ディレクトリに追加することが重要です。Tomcat lib パスは、Tomcat 6.0\lib の例として示されています。

于 2014-03-04T15:23:14.680 に答える
0

Eclipse IDE を使用している場合は、mysql jdbc コネクタ jar をダウンロードし、その jar をビルド パスにポイントします。プロジェクト Java ビルド パス --> ライブラリ --> 外部 jar を追加します。コネクタはhttp://dev.mysql.com/downloads/connector/j/から入手できます。

于 2014-02-02T06:42:22.760 に答える