Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

外部ライブラリの読み込み

Java初心者です。
現在、徹底入門Javaプログラミングという本でJavaを勉強しようとしています。

そのなかのサンプルプログラムを実行しようとしたらエラーが出ましたので、以下にソースと、エラーメッセージを付記します。ちなみに、HelloWorldなど、それ以前のプログラムは動作しました。


ソース(本のものをそのまま写しました)
class FusenExec{

    public static void main( String[] args ){

    //付箋の土台を表示
    Dodai fusen;
    fusen = new Dodai();
    fusen.setSize(200,50);
    fusen.setVisible(true);

    }
}


コンパイル→出来る


実行→エラー
Exception in thread "main" java.lang.NoClassDefFoundError:Dodai at FusenExec.main(FusenExec.java:7)



与えられているDodai.jarは本で指定されている通りの場所(僕の環境だと、c:Program Files\Java\jdk1.6.0_12\jre\lib\extとc:Progam Fies\Java\jre1.6.0\lib\ext)にあることを確認し、pathの設定も行ったのですがエラーがでます。

Webで調べた情報をもとにclasspathを見直したり、Dodai.jarをFusenExec.classと同じフォルダにもコピーしてみたりしたのですが、エラーが出ます。

原因がわからず、ほとほと困り果てています。なにとぞお力を貸していただけないでしょうか。

3

回答

6396

閲覧

3件の回答

評価

0

そのエラーメッセージの意味を理解すること。
pathやclasspathの意味を理解すること。

答えを教えるのは簡単だが、それでは勉強にならない。
答えを求めるにしても、

>pathの設定も行った
>classpathを見直した

これでは何をやったのか、読む側には何にも分からない。
ソースやエラーメッセージは大事だが、それだけでは状況の説明にはならない場合もある。

評価

0

貴重なご指摘ありがとうございます。おっしゃる通りだと思います。

pathの設定ですが、本で指定されているとおり、既存のpathの後ろに;c:\Program Files\Java\jdk1.6.0_12\binを追加しました。
classpathに関しては本では記述が無かったのですが、webで調べている間にclasspathが関係するのではないのかと考え、一番はじめに.;と、カレントディレクトリが指定されていること、c:Program Files\Java\jre1.6.0\ib\extが指定されていることを確認しました。

評価

0

自己解決しました。
↓を参考に、classpathにdodai.jarへのパスを追加したら動作しました。
http://www.nextindex.net/java/CLASSPATH.html

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。