こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javaの実行環境

javaの勉強をしようと思い、以下のhelloworldコードを書いてみました。

public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello World\n");
}
}

それを、以下のようにlinux環境(ubuntu 10.10)でコンパイル実行しようとしたのですが、
javac HelloWorld.java
java HelloWorld.class

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

と怒られてしまいました。そこで色々調べて

jar cvmf manifest.mf test HelloWorld.class

とjarファイルを作成して実行したところ、適切に"Hello World"が表示されました。
(manifest.mfの中身は"Main-Class: HelloWorld"1行だけです。)

その後、このjarファイルをwindows環境に持っていって実行したのですが、
Exception in thread "main" java.lang.NoClassDefFoundError: ・・・
と怒られてしまいました。

linux環境で、"echo $CLASSPATH"を実行しても何も表示されず、CLASSPATHはどこにも通っていないようです。
また、windows環境のDOS画面にてSETを実行し、環境変数を表示させてもCLASSPATHはありませんでした。(javaはインストール済みです。)

で、質問です。

1)なぜjarにすると実行でき、classファイルのままでは実行出来なかったのでしょうか?

2)windows環境で、CLASSPATHを設定したほうが良いのでしょうか?設定する場合は、prgramfiles\java\binで良いのでしょうか?

以上、長くなり申し訳ないのですが、よろしくお願いします。

投稿日時 - 2011-03-28 23:04:02

QNo.6628007

困ってます

質問者が選んだベストアンサー

クラスファイルのままで実行したいなら
java HelloWorld
でいいんじゃないの?

Exception in thread "main" java.lang.NoClassDefFoundError: ・・・
の「・・・」を読めばわかるかもしれん.

投稿日時 - 2011-03-28 23:49:41

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問