お蔵入り

clip!clip!
Ads By Google

Java実行時にエラーが><

javaをコンパイルして、実行するときに、
Exception in thread "main" java.lang.NoClassDefFoundError:(ファイル名)
と表示されて、実行することができないのですが・・・。
どなたか分かる方いませんか><

2006-05-02 10:43の質問
Java  実行  
JAVA
「SUN JAVAテクノロジー」のホームページです
jp.sun.com/java/
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。

回答(3)

1.

2006-05-02 10:52:48
Java は環境変数の CLASSPATH、または java コマンド実行時の -classpath オプションに指定されたパスを頼りにクラスファイルを探します。

とにかくエラーのあった行で使用しているクラスか、それを含む jar ライブラリを見つけて CLASSPATH に追加してみてください。

以下の URL が分かりやすかったです。

自信度 : 自信あり 回答レベル : 回答

2.

2006-05-02 12:14:48
エラーの指しているものがkanakoさんの記述の通り(ファイル名)になっているなら、mainを書いているclassの名前とファイル名が違っているのではないでしょうか?

例えば、
class Test{
   public static void main(String args[]){
       System.out.println("Hello World.");
   }
}
というプログラムなら、このファイルの名前はTest.javaになります。

大雑把にいうと、
> java Test
という風に実行するということは、Test.classのファイル中にあるTestというclassのmainを実行するという意味なので、class名とファイル名は一致していないといけないという理窟になります。

#もし、当たり前のことだったら、ごめんなさい。
回答レベル : 回答

3.

2006-05-03 10:37:04
コンパイルエラーでは無いのでコードを参照する必要は無いのかもしれませんが、mainの部分だけでも書かれてはどうでしょうか。統合開発環境IDEなどではステップ実行が可能なものがあるので使われてみてはどうでしょうか。
Ads By Google

コメント(4)

2006-05-03 22:46:14

コンパイルと実行が同じ環境なら、
>>1
>>3
はどちらも起こらないような気がします。

#2.  もじゃ
2006-05-17 10:58:22

>>#1
Class.forName 等で動的にクラスをロードしている場合など、コンパイルと実行が同じ環境でも実行時に NoClassDefFoundError なる可能性があります。

よくあるのが、JDBC ドライバを実行時のクラスパスに追加し忘れたときですね。

#3.  どや?
2006-05-17 13:20:17

ファイル名が日本語とか?可能性なし?

2006-06-02 07:59:59

>>#2
お蔵入りで質問者はもう見ていないと思うので言いますが、質問の仕方から考えて、質問者は初心者で、大学とかの授業か何かだと思います。もじゃさんとか私が質問するなら、もっと情報を書くはずなのです。もじゃさんの仰ることは一般的な可能性としては妥当です。

>>#3
これは可能性は結構あるかもしれません。

トラックバック(2)

トラックバックURL: