• 締切済み

Eclipseで実行できてコマンドプロンプトで実行できない

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

  • Java
  • 回答数10
  • ありがとう数6

みんなの回答

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.10

adimアカウントなどでのエラー発生の 事象は分からないので、 お役にたてずすみませんでした。 設定など分かりやすいサイトは http://www.hellohiro.com/appli.htm こちらです。 一方、下記はjava、jsp、eclipseのソリューションが 豊富です。 リファレンスとして是非活用してみてください。 ではでは。

参考URL:
http://www.atmarkit.co.jp/fjava/#0
  • tubumame
  • ベストアンサー率63% (7/11)
回答No.9

こんにちは。 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を正しく設定する必要があります。昨日までできていたのは、偶然実行対象クラスファイルが保存されているディレクトリにいたから??かな?

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.8

うーん >本日購入したJavaの入門書で CLASSPATHの設定を知りました。 [環境変数] コマンドプロンプトで java -version と打ったjavaが システム環境変数内(path)に記述されている事 eclipseのウインドウ→設定のインストール済JREの ロケーションパス+\bin ;C:\Program Files\j2sdk1.4.2\bin(←例) コマンドプロンプトで cd javaファイルのある所に移動 コンパイル・実行。 ここまではOKですよね? それでエラーが出るんですよね。 \bin内にjavacもありますよね。 一応もう一度確認してみていただけますか?

h-kanegon
質問者

補足

何度もありがとうございます。本日Eclipseを削除して、インストールし直したところ、コマンドプロンプトで実行できました。PATHの設定はそのままで、CLASSPATHは削除しました。色々考えたところ、TomcatをAdministrater権限のアカウントでインストールしなかったのが問題なのかと考えています。(EXE形式のインストーラー) 自分のOSはXP homeなのですが、書籍にはAdministrater権限(管理者権限)でインストールする。と書いてありました。そこでセーフモードで立ち上げ、Administrater権限のアカウントでログインしてインストールしました。 当たり前のことなのかもしれませんが、普段のアカウントではインストールされていません。そこでためしに、普段のアカウントでインストールしてしまったのが原因 なのかもしれません。

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.7

No.6で実行できれば bin/javac内 でも実行できるか 試してみてください。 OKであればやはり環境変数がおかしいと思うのですが。 もう一度設定し直してみて下さい。

h-kanegon
質問者

補足

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

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.6

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

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.5

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

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.4

こんばんは。 コマンドプロンプトを起動して 実行したいクラスのあるディレクトリに 移動して、 >java -cp .; 実行するクラス名 と入力してみてください。

h-kanegon
質問者

補足

>java -cp .; 実行するクラス名 を実行しましたら正しい結果がでました。 この場合どの設定を直したらよいのでしょうか

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.3

ん? javac は入れてますよね。 補足: javac ファイル名.java でコンパイルしています。その後で java ファイル名 で実行するとエラーになります。

h-kanegon
質問者

補足

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

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 CLASSPATHの設定はどうでしょうか?

h-kanegon
質問者

補足

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

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.1

コンパイルの仕方がまずいのでは? java クラスファイル名.class[リターン]でなく java クラスファイル名[リターン] にしてますか?

h-kanegon
質問者

補足

ファイル名.java でコンパイルしています。その後で java ファイル名 で実行するとエラーになります。

関連するQ&A

  • コマンドプロンプトから実行した時にエラーが出る

    Javaでバイトコードを実行しようとしたら、こんな文が出ました。 Exception in thread "main" java.lang.NoClassDefFoundError: Test01 実行できないのでWEBで調べてみたところ、以下のような回答がありました。 以下引用文>> Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld というエラーが出て動きません。 [S002-A08] 実行時エラーがでていることから、javaインタープリターは動いています。 HelloWorld という名前のクラスがみつからないというエラーです。 JDK1.2 以降の Java をお使いの場合、、 プロンプト> java -classpath . HelloWorld でどうでしょう? これでうまくいくならば CLASSPATH環境変数の 設定に . (ドット、ピリオド)がないのが原因です。 CLASSPATH環境変数は、間違い易いことが多い機能ですので完全に理解するまでは使わず、 -classpath 実行時オプションでクラスパス(java VM がクラスファイルを探すパス)を 教えてあげることをお勧めします。 doskey とうてば、Windows95/98 の MS-DOSプロンプトでのコマンド入力も苦にならないでしょう。 >> 以前はこんなことせずともコンパイル、実行できたんですが、何が変わってしまったのでしょうか。PATHの設定は正しく設定しているつもりなのですが… 個人的には毎回実行パラメーターに"-classpath . "と打ち込むのは面倒なので、打ち込まないでも実行できる方法が知りたいと思います。 ちなみにJDKのバージョンは1.3.1_01 OSはWindows2000です。

    • ベストアンサー
    • Java
  • Eclipseでは実行できるのにコマンドラインではできません。

    eclipse上で、別プロジェクト(のクラスを参照し、標準出力を行うクラスを作成しました。Eclipce上では、起動すると正常に実行できるのに、コマンドプロンプト上で実行すると、別プロジェクトのクラスがない (Exception in thread "main" java.lang.NoClassDefFoundError: "別プロジェクトの参照しているクラス") のエラーが出力されます。 たたいたコマンドは、 java -jar ××× .jar aaaaa ※classpathには参照するクラスフォルダおよびjarファイルを参照するように設定しています。 ※因みに、eclipseのbuild.xmlを実行してjarファイルは作成。正常に終了しました。 どなたか同じ現象で回避されてた方がいらっしゃいましたら、どうかご教授していただけたらと思います。 よろしくお願いいたします。

  • 前に実行できたプログラムが全て実行できなくなりました。

    コマンドプロンプトを使って、プログラムを実行しようとしてます。 例で 「Aisatsu.java」というプログラムをやってみると C:\WORK>java Aisatsu.java C:\WORK>java Aisatsu Exception in thread "main" java.lang.NoClassDefFoundError: Aisatsu といったエラーが出てきます。どうして今まで出来ていたプログラムが出来なくなっているのでしょうか?

    • ベストアンサー
    • Java
  • Java起動・・・?

    学校でJavaの勉強をしています。 そこで家でもやってみようと思い学校と同じやり方をしたのですが起動?しません。 コマンドプロンプトで実行しているのですが、 Exception in thread "main" java.lang.NoClassDefFoundErrorと出ます。 どのようにすれば出来るようになりますか?

    • ベストアンサー
    • Java
  • コマンドプロンプトでのJava実行エラー

    コマンドプロンプトでJavaコマンドを実行(RunTest.class)を実行すると「Exception in thread"main" java.lang.UnsupportedClassVersionError: RunTest : Unsupported major.minor version 51.0」 というエラーが出てしまいます。 他のページ調べてみるとJDKとJREのバージョンが違うと発生するようなので確認してみると JDK1.7.0_09とJRE7でした。 このエラーが発生しないようにするにはどうすれば良いでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • エラー解決方法が分かりません。。

    こんにちは、私は最近JAVAプログラミングを始めたのですが、コマンドプロンプトでコンパイルを無事に終えたあと、クラスファイルを指定して実行しようとすると必ず「Exception in thread "main" java.lang.NoClassDefFoundError: Hello」と表示されて実行できません。他サイトで調べたところこのエラーはHello.classの場所が分からないというものだということまで分かったのですが、解決策がよく理解できませんでした。あらかじめ環境変数のpathを変更して行っているんですが、コマンドプロンプトでどのように入力したらエラーが無くなるでしょうか?ご助言よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaが実行されません。

    javacコマンドは正常に動くのですが、 javaコマンドを使用すると Exception in thread "main" java.lang.NoclassDefFoundError:Sample2 と表示されるんですよ。 どのクラスファイルに対してもそうで、 以前実行できたクラスファイルに対しても そのエラーが出るんです。

    • ベストアンサー
    • Java
  • java 実行コマンドについて

    java の実行コマンドについての質問です。java実行コマンドでは実行したいファイルを相対パスで指定できないのでしょうか? 具体的には、 現在、実行したいプログラムは ~/program/sample/Test.class となっています。 カレントディレクトリは~/programで、次のようなコマンドを行いました。 ~/program$ java sample/Test すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/Test (wrongname: Test) という例外が出ました。 ~/program$ java -classpath sample Test を行えば実行できるのですが、java実行コマンドでは相対パスで実行ファイルを指定することはできないのでしょうか? (javacコマンドでは相対パスでコンパイルできる、つまりコンパイルしたいファイルが~/program/sample/Test.javaならば ~/program$ javac sample/Test.java でコンパイルできるので、これの類似でjavaコマンドでも相対パスで実行できるのではないかと考えたのですが。)

    • ベストアンサー
    • Java
  • eclipseからtomcat起動できない

    eclipse から Tomcat を起動すると、 "Could not find the main class. Program will exit!" というエラーダイアログが表示され、 コンソールには、 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap Exception in thread "main" とエラーが表示されます。 まったくの初心者でどうしたらよいのか解らず困っています。 どうしたらよいのか教えてください。 (環境) Tomcat 5.5.20 JDK 5.0.9 Eclipse 3.2.1

  • Javaが実行されません。

    javacコマンドは正常に動くのですが、javaコマンドを使用すると Exception in thread "main"java.lang.NoclassDefFoundError:Sample2 と表示されるんですよ。 原因を教えてください。

専門家に質問してみよう