【初心者】 Java質問・相談スレ29 【大歓迎】
>>28 クラスパス非推奨ってどういうこと?
全部extフォルダに入れるとか、IDE使えってこと????
32 :
デフォルトの名無しさん:03/08/01 11:40
>>31 環境変数に設定するのを非推奨にしようってことだろ?
全部extフォルダに入れるなんてもってのほか。
コンパイル時や実行時に個別に指定するほうがイイってこと。
AntとかIDE使うのもその手段の一つだが。
いまだにJ2EEアプリ実行するのに実行ユーザの環境変数に
クラスパス設定するヤシとかextにライブラリ入れるヤシとかいて
あきれるな。
究極は
java.lang.String s=new java.lang.String("text");
とか推奨か?
環境変数のCLASSPATHは使わないほうがいいでしょ。
CLASSPATHが設定されていなければ
c:\somewhere>java HelloWorld
が動作する。
CLASSPATHが変なところに設定されているから動かなくなるだけ。
いっぱいjarファイルが必要なアプリはバッチファイルを作って、
set JARS=foo.jar;bar.jar
java -classpath %JARS%;. net.2ch.SomeApp
とでもすればいい。
>33
java.langはimportしなくても使えるぞ。
36 :
デフォルトの名無しさん:03/08/01 12:04
>>33 クラスパスとimport混同してない?
こんなヤシは
>>2見れ
37 :
デフォルトの名無しさん:03/08/01 12:09
クラスパス非推奨派は理由を述べないな
38 :
デフォルトの名無しさん:03/08/01 12:14
>>37 ポータビリティが低下するからに決まってんだろ。
そんなことわざわざ言ってもらわないとわからなのか・・・・?
39 :
ただの見物人:03/08/01 12:16
わかんねーよ。Javaしらねーし
41 :
デフォルトの名無しさん:03/08/01 12:25
classpathオプションが好まれる?
42 :
デフォルトの名無しさん:03/08/01 12:29
>>41 そう。環境変数に設定せずに、実行時に指定する方法が推奨。
必要なクラスパスはアプリによって違うからな。
-classpath オプションが推奨されているのは、アプリケーションごとに個別に設定できるので、
ほかのアプリケーションに影響を与えたり、ほかのアプリケーションからこの値が変更されたりすることがないためです。
44 :
デフォルトの名無しさん:03/08/01 12:31
つまり環境変数は使わずにオプションを使えってことか。
45 :
デフォルトの名無しさん:03/08/01 12:34
インストールするとCLASSPATHを設定するアフォなアプリもあるから、
初心者向けのQ&Aとしてはこんな感じか?
Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
java -cp . Hello
と設定する。「-cp」の後ろの「.」を見落とさないように!
「.」の前後には半角空白が必要です。
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02 を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。
コマンドプロンプトで、
java -cp . Hello
と実行する。「-cp」の後ろの「.」を見落とさないように!
~~~~~~~~~~
の間違い。