プロが教えるわが家の防犯対策術!

最近Windowsパソコンを購入して、Javaを勉強し始めているものです。昨日まではコマンドプロンプトでもjavaコマンドが実行できていたのですが、本日実行してみると、
Exception in thread "main"java.lang.NOClassDefFoundError:
と出てきてしまいます。Eclipseではコンソール画面に結果が表示されるのですが、コマンドプロンプトではエラーになってしまいます。環境変数のPATHの設定も問題ないようなのですがどうしたらよいのでしょうか?

A 回答 (10件)

adimアカウントなどでのエラー発生の


事象は分からないので、
お役にたてずすみませんでした。

設定など分かりやすいサイトは
http://www.hellohiro.com/appli.htm
こちらです。

一方、下記はjava、jsp、eclipseのソリューションが
豊富です。
リファレンスとして是非活用してみてください。

ではでは。

参考URL:http://www.atmarkit.co.jp/fjava/#0
    • good
    • 0

こんにちは。



javaコマンドを実行して、
>Exception in thread "main"java.lang.NOClassDefFoundError:
が表示されるということは、PATHの設定は問題ないでしょう。このExceptionは実行対象クラスが見つからないといっています。(読んで字のごとし)
ですから、CLASSPATHの設定に問題があります。eclipseは、実行対象クラスがどこにあるのかなどは当然eclilpse上で開発しているのですから、特に設定等をしなくても(CLASSPATHを意識しなくても)平気です(eclispeは認識しています)が、コマンドプロンプトでjavaコマンドを実行する際は、実行対象クラスがどこにあるのかをJavaVMに教えてあげる必要があります。その設定がCLASSPATHです。
環境変数CLASSPATHにあらかじめ設定することもできますし、実行時に指定することもできます。(java -cp ...)
CLASSPATHが設定されていなくても(環境変数設定、実行時指定をしない)、実行対象クラスのあるディレクトリに移動してjavaコマンドを実行すると実行できる場合もあります。(他のライブラリやjarを使用していないとき)
実際、h-kanegonさんは実行対象クラスが保存されているディレクトリに移動すると実行できるみたいですし。ですから、CLASSPATHを正しく設定する必要があります。昨日までできていたのは、偶然実行対象クラスファイルが保存されているディレクトリにいたから??かな?
    • good
    • 1

うーん


>本日購入したJavaの入門書で CLASSPATHの設定を知りました。

[環境変数]
コマンドプロンプトで
java -version
と打ったjavaが
システム環境変数内(path)に記述されている事
eclipseのウインドウ→設定のインストール済JREの
ロケーションパス+\bin
;C:\Program Files\j2sdk1.4.2\bin(←例)

コマンドプロンプトで
cd javaファイルのある所に移動
コンパイル・実行。
ここまではOKですよね?
それでエラーが出るんですよね。
\bin内にjavacもありますよね。

一応もう一度確認してみていただけますか?

この回答への補足

何度もありがとうございます。本日Eclipseを削除して、インストールし直したところ、コマンドプロンプトで実行できました。PATHの設定はそのままで、CLASSPATHは削除しました。色々考えたところ、TomcatをAdministrater権限のアカウントでインストールしなかったのが問題なのかと考えています。(EXE形式のインストーラー)

自分のOSはXP homeなのですが、書籍にはAdministrater権限(管理者権限)でインストールする。と書いてありました。そこでセーフモードで立ち上げ、Administrater権限のアカウントでログインしてインストールしました。
当たり前のことなのかもしれませんが、普段のアカウントではインストールされていません。そこでためしに、普段のアカウントでインストールしてしまったのが原因
なのかもしれません。

補足日時:2005/02/15 19:44
    • good
    • 0

No.6で実行できれば


bin/javac内 でも実行できるか
試してみてください。

OKであればやはり環境変数がおかしいと思うのですが。
もう一度設定し直してみて下さい。

この回答への補足

'Exec.bat'は内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となってしまいます

補足日時:2005/02/14 22:21
    • good
    • 0

すみません。

訂正です。

ではでは
クラスファイルは出来ているんですよね?
.classのある同ディレクトリに
-------------------------------
Exec.bat
-------------------------------
↓ここから!!!!!!!!!!
java クラス名
pause
-------------------------------
という二行のバッチファイルを作って
そのままこれを叩いてみてください。
    • good
    • 0

ではでは


クラスファイルは出来ているんですよね?
.classのある同ディレクトリに
-------------------------------
Exec.bat
-------------------------------
↓ここから!!!!!!!!!!
java JavaRandom
pause
-------------------------------
という二行のバッチファイルを作って
そのままこれを叩いてみてください。
    • good
    • 0

こんばんは。



コマンドプロンプトを起動して
実行したいクラスのあるディレクトリに
移動して、

>java -cp .; 実行するクラス名

と入力してみてください。

この回答への補足

>java -cp .; 実行するクラス名

を実行しましたら正しい結果がでました。

この場合どの設定を直したらよいのでしょうか

補足日時:2005/02/14 22:54
    • good
    • 0

ん? javac は入れてますよね。



補足: javac ファイル名.java

でコンパイルしています。その後で

java ファイル名

で実行するとエラーになります。

この回答への補足

javac ファイル名.java
java ファイル名
で実行しています

補足日時:2005/02/14 21:40
    • good
    • 0

こんにちは。




CLASSPATHの設定はどうでしょうか?

この回答への補足

本日購入したJavaの入門書で CLASSPATHの設定を知りました。CLASSPATHの設定を削除しても、しなくてもやはりエラーになってしまします。昨日まではエラーにならなかったのですが、昨日から今日にかけて、LANでMacとつないだこと位しか覚えがないのです。ちなみに昨日はCLASSPATHの設定はしませんでした。Eclipseでは問題がないのですが.............

補足日時:2005/02/14 21:00
    • good
    • 1

コンパイルの仕方がまずいのでは?


java クラスファイル名.class[リターン]でなく
java クラスファイル名[リターン]
にしてますか?

この回答への補足

ファイル名.java

でコンパイルしています。その後で

java ファイル名

で実行するとエラーになります。

補足日時:2005/02/14 20:55
    • good
    • 0

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