準・究極の選択

うちのPCでは確実にコンパイルが通って、実行までできたプログラムが他の人のPCではコンパイルが通らなかったり実行ができません。

実行する際には
javac nishi.java
java nishi
とやると以下のようなエラーがでて実行ができません(コンパイルは通ります。決してjava nishi.classとかjava nishi.javaといったお約束の間違いは行っていません)

Exception in thread "main"java.lang.NoClassDefFoundError:nishi

また違うファイルではこっちでコンパイルが通るのにあっちではコンパイルが通らなかったりします。バージョンが違うためでしょうか?僕のバージョンが1.5.08?で相手が1.4.2くらいです。だからコンパイルが通らないの?

A 回答 (4件)

>古い1.3.0でコンパイルとおりました。

なぜか1.4.2では通りませんでした。
それも「1.3.0」と「1.4.2」の「バージョンの違い」では?
エラー内容がわかりませんので、「想像」ですが。
今わかってる情報からは「バージョンの違い」としか判断できません。

javacのオプションに「-target」があるので、VMのバージョンを指定してみては?
詳細はドキュメントを読んで下さい。
    • good
    • 0

>もしかして、


>java.exeがあるフォルダの中でプログラムのクラスファイルを
>実行するならCLASSPATHの設定云々は関係ないですか??
もし仮に、↑でうまくいっても、お奨めできませんね。
「CLASSPATH」の設定をちゃんとするか、EclipseなどのIDEを使用した方が良いです。

この回答への補足

コンパイルが通らない理由はバージョンの違いではないようです。
古い1.3.0でコンパイルとおりました。なぜか1.4.2では通りませんでした。

補足日時:2006/11/21 13:13
    • good
    • 0

>>またコンパイルが通ったり、通らなかったりするのはバージョンの違いだと思います。


>そうかな?バージョンが違うからかな?
それとも、同じJavaのバージョンのマシンで
「まったく同じソース」がコンパイルが通ったり、通らなかったりする
のでしょうか?
それならJavaが壊れてる可能性が大なので、1度アンインストールして、もう1度インストールしましょう。

>クラスパスって、XPの場合なら
>コントロールパネル→パフォーマンスとメンテナンスでパスを通すっ
>てやつですよね?たとえばフォルダC:hogeにrr.exeファイルがあると
>きに
>C:hoge;というようにパスを設定するとコマンドプロンプトでどこから>でもrr.exeができるようになるあれですよね?
それは「環境変数のPATH」。
そっちじゃなくて、「環境変数のCLASSPATH」。

PATHはシステムがプログラムを探す場所を記述しておく環境変数で、
CLASSPATHはJavaがクラスを探す場所を記述しておく環境変数。

この回答への補足

ああああれねあれね。あの上の方にあるあるやつねOKOK

補足日時:2006/11/21 12:34
    • good
    • 0
この回答へのお礼

もしかして、
java.exeがあるフォルダの中でプログラムのクラスファイルを実行するならCLASSPATHの設定云々は関係ないですか??

お礼日時:2006/11/21 12:41

おそらくExceptionの内容から「nishi.class」があるディレクトリに「CLASSPATH」が通ってないのが原因でしょう。


「CLASSPATH」に「.;」を追加すれば良いはずです。

またコンパイルが通ったり、通らなかったりするのはバージョンの違いだと思います。
「こっち」でコンパイルが通って、「あっち」でコンパイルが通らないのは、「Java 5.0(1.5)」から追加されたクラスorメソッドを使っているからでしょう。
そこらへんは「コンパイルエラー」の内容を見れば「どのクラス」「どのメソッド」がそれに該当するかわかりますので、Javadocなどを調べればすぐわかるでしょう。

この回答への補足

>またコンパイルが通ったり、通らなかったりするのはバージョンの違いだと思います。

そうかな?バージョンが違うからかな?

クラスパスって、XPの場合なら
コントロールパネル→パフォーマンスとメンテナンスでパスを通すってやつですよね?たとえばフォルダC:hogeにrr.exeファイルがあるときに

C:hoge;というようにパスを設定するとコマンドプロンプトでどこからでもrr.exeができるようになるあれですよね?

補足日時:2006/11/21 12:17
    • good
    • 0

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