Eclipse3.1でデータベース(mysql)にアクセスするプログラムを作ったのですが下記のエラーが出ます。

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

これはJDBCドライバのセットアップがうまく出来ていないからなのでしょうか?
またEclipseでは、~.jarというファイルをプロジェクトのWEB-INFのlibフォルダに入れれば使える印象があるのですが、参考書(EclipseのではなくJAVAなどの)などにあるようにTomcatのインストールフォルダ以下common/libに入れて環境変数を変更しないといけないのでしょうか?

ご存知の方教えてください、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

WEB-INF以下に入れると実行はできるのですが、エクリプスが.javaファイルをコンパイルすることができません。

projectの一覧を右クリックしてpropertyを選択し、ダイアログ右側からJava Build Pathを選択し、タグからLibrariesを選び、Add JARsボタンをおして.jarファイルを登録して下さい。
たぶんこれでコンパイルできるはずです。
    • good
    • 3
この回答へのお礼

出来ました、ありがとうございます。

お礼日時:2006/09/05 11:53

1.mysqlJDBCのjarファイルをTomcat/common/libにコピー。


2.Eclipseではプロジェクト→プロパティ→Javaのビルドパスクラスライブラリのタブで外部jarの追加でmysqlJDBCのjarファイルを追加する。

以上でできると思います。

windowsの環境変数を変更する必要はないと思います。
    • good
    • 3
この回答へのお礼

出来ました、ありがとうございます。

お礼日時:2006/09/05 11:53

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qjava.lang.ClassNotFoundException: com.mysql.jdbc.Driverと出てしまいます。

ご質問させてください。
まずは環境は、

・Windows Vista Home Premium
・j2sdk1.4.2_16
・mysql-connector-java-5.1.5
・Mysql 5.0
・Tomcat 5.5
・eclipse-SDK-3.1.2-win32

となっております。

次に、環境変数を
http://www.hellohiro.com/jdbcmysql.htm
http://www.hellohiro.com/appli.htm
を参考に、
CLASSPASS:.;%JAVA_HOME%\lib\tools.jar;
C:\mysql\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\mysql-connector-java-5.1.5-bin.jar;.
JAVA_HOME:C:\j2sdk1.4.2_16
PATH:%JAVA_HOME%\bin
と設定しました。

そして以下のプログラムを実行すると
import java.sql.*;
public class test
{
public static void main(String args[])
{
try{
//接続の準備
String drv = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql:///cardb";
String usr = "root";
String pw = "Gob3=104";

//データベースへの接続
Class.forName(drv);
Connection cn = DriverManager.getConnection(url, usr, pw);

//問い合わせの準備
Statement st = cn.createStatement();
String qry = "SELECT * FROM car_table";

//問い合わせ
ResultSet rs = st.executeQuery(qry);

//データの取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();

while(rs.next()){
for(int i=1; i<=cnum; i++){
System.out.print(rm.getColumnName(i) + ":"+ rs.getObject(i) + " ");
}
System.out.println("");
}

//接続のクローズ
rs.close();
st.close();
cn.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}

エラーが、

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at test.main(test.java:15)

とでてしまいます。

EclipsでMySQLを用いて、データベースにアクセスするにはどうしたらよいのでしょうか。
お知恵をお貸しください。

ご質問させてください。
まずは環境は、

・Windows Vista Home Premium
・j2sdk1.4.2_16
・mysql-connector-java-5.1.5
・Mysql 5.0
・Tomcat 5.5
・eclipse-SDK-3.1.2-win32

となっております。

次に、環境変数を
http://www.hellohiro.com/jdbcmysql.htm
http://www.hellohiro.com/appli.htm
を参考に、
CLASSPASS:.;%JAVA_HOME%\lib\tools.jar;
C:\mysql\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\comm...続きを読む

Aベストアンサー

エラーの内容を拝見する限り、mysql-connector-java-5.1.5を認識していないように見受けられます。
Eclipseのビルドパスのライブラリへの取り込みは正しくおこなわれていれば、デバッグの際のエラーは出なくなると思いますのでご確認ください。

Qjava.lang.ClassNotFoundException・・・

いつもお世話になっております。

・j2sdk1.4.1_07
・Tomcat 4.1
・apache_2.0.54-win32-x86-no_ssl.msi
・mysql-4.0.25-win32
・mysql-connector-java-3.1.10
をダンロードし、環境変数なども設定しました。

package javahello;
import java.sql.*;
import java.util.*;

public class DBConnectionPool {
          ・
          ・
          ・


をコンパイルし、

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.sql.*,javahello.DBConnectionPool" %>
<%!
DBConnectionPool pool;
%>
         ・
         ・
         ・

と作成し、
Tomcatのフォルダ]\webapps\examples\WEB-INF\classes\javahelloの下に
DBConnectionPool.class
を入れていざ
http://localhost:8080/examples/javahello/jspdb.jsp
で表示させようとすると、

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

とエラーが帰ってきてしまいます・・・。

DBConnectionPool.classの置いてあげる場所が悪いのだろうと思い、過去ログなどで調べていても解決に結びつきませんでした・・・。

どこがわるいのでしょうか??

どなたかご教授のほどよろしくお願いします。

いつもお世話になっております。

・j2sdk1.4.1_07
・Tomcat 4.1
・apache_2.0.54-win32-x86-no_ssl.msi
・mysql-4.0.25-win32
・mysql-connector-java-3.1.10
をダンロードし、環境変数なども設定しました。

package javahello;
import java.sql.*;
import java.util.*;

public class DBConnectionPool {
          ・
          ・
          ・


をコンパイルし、

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.s...続きを読む

Aベストアンサー

>該当するクラスとはどのようなクラスなのでしょうか??
私の書き方が悪かったですね。
簡単に言えばjarファイルの中にドライバクラス(今回はorg.gjt.mm.mysql.Driver)が含まれているか調べるという意味です。
jarコマンドでリストするなり展開するなりすればわかるかと思います。
私もConnector/Jを落としてみましたが、ちゃんと入っていたので問題ないと思います。
私はいつもcom.mysql.jdbc.Driverを使っているのでorg.gjt.mm.mysql.Driverがあるか気になっただけです。ちなみに後者のDriverは前者のDriverをextendsしてある(別名で扱えるだけ)だけなので、どちらを使っても同じです。

%CATALINA_HOME%\common\libに入れてダメってことですよね・・・
とりあえずTomcatを再インストールしてみてはいかがでしょう?

Q-Applet表示でのjava.lang.ClassNotFoundException-

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/applet/AppletPanel.securedCall0 (AppletPanel.java)
at com/ms/applet/AppletPanel.securedCall (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.run (AppletPanel.java)
at java/lang/Thread.run (Thread.java)

・・・と、表示されています。

クラスパスの問題であれば、「appletviewer」でも動かないだろうし・・・何が問題なのでしょうか??

・・・行き詰まってます。

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/app...続きを読む

Aベストアンサー

>AppletTest.java:1: パッケージ com.sun.java.swing は存在しません。
import com.sun.java.swing.*;

パッケージ com.sun.java.swingは、swingall.jarにあります。
>javac -target 1.1 -classpath swingall.jar AppletTest.java
のように指定しているようですが、

C:\java\appletに、swingall.jarはありますか?

私が示している例を、分からないまま、そのまま実行するのではなく、
自分の環境に合わせて実行してくださいね。

QEclipseで新規クラスを作成時、スーパークラスをjava.lang.Object以外にするには?

最近Eclipseを使い始めましたが、パッケージエクスプローラがよくわかりません。

Javaプロジェクトを新規に作成し、
インポートを使って既存のjarファイルをそのプロジェクト内に配置しました。
その後、プロジェクトフォルダを右クリックし、
「ビルド・パス」-「ビルド・パスの構成」から
「ライブラリ」タブの「JARの追加」から先述のjarファイルを選択しました。

これでビルド・パスは通ったと思ったのですが、
新規クラスを作成する際にスーパークラスは「java.lang.Object」しか選択できず、
追加したJARにあるクラスが選択できません。

新規クラス作成時のウィザード画面で追加したJARにあるクラスを
選択するにはどうすればよいのでしょうか?
また、そもそもこのやり方でビルド・パスは通っているのでしょうか?

以上、よろしくお願いします。

Aベストアンサー

プロジェクトのプロパティウインドウを呼び出し、Javaのビルド・パスの「ライブラリ」に、追加したJarが入っていますか? 入っていれば、それで設定はOKのはずです。

ちなみに、java.lang.Objectしか出てこない、というのは、どうやったのでしょうか。新規クラス作成のウィザードで、スーパークラスの選択ダイアログを開いて設定をしたのでしょうか。ここは、初期状態ではjava.lang.Objectと入力されています。これに一致するものしか表示されませんから、当然ですがObjectしか表示はされません。

書かれているjava.lang.Objectを消して、パッケージ名の最初の1文字をタイプすると、それに一致する項目がずらっと現れるはずです。(何もタイプされていない状態だと何も表示されません。必ず、パッケージ名の最初の文字をタイプする必要があります)

Qjava.lang.outofmemoryerror java heap space

java のクラスファイルをjarにして、実行する時、大きいなファイルを読むと、java.lang.outofmemoryerror java heap spaceのエラーが出できます。
どう解決すればいいですか。

Aベストアンサー

多分、JVM に設定したメモリサイズの上限値を超えてしまったのだと思われます。
Xms や Xmx オプションなどをつけて実行してみたらどうでしょう。

以下のサイトなどを参考にしてみて下さい。

参考URL:http://www.intra-mart.jp/download/doc/OutOfMemoryError.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報