Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[JavaHouse-Brewers:18508] CLASSPATH & classes.zip (Re:実行時のエラ ーについての質問)

21 views
Skip to first unread message

fai...@kt.rim.or.jp

unread,
Aug 8, 1998, 3:00:00 AM8/8/98
to JavaHouse Brewers ML
村田@RIMです。

# Yamadaさん、動いたようでおめでとうございます。
# お礼だけのメール連発はやめましょうね^^;
http://java-house.etl.go.jp/ml/ のトピックス参照。

サブジェクト変えて話題を掘り下げてみます。

Onoueさん:
>  これは”自前で別バージョンのcore API を持つアプリケーション”
> を使用する際に環境変数を再設定すればすむ問題ではないでしょうか。
> また、多くのWin上のJavaアプリでは自前でCLASSPATHを
> 持っているような設計だと思われます。(netscape等)
>
> "有害”というのとは意味合いが違うのではないでしょうか。

正確な状況を思い出せず、また再現実験をしている暇がな
いのですが、現に CLASSPATH に jdk\lib\classes.zip を
含めたためのトラブルは過去2回ほど目にしました。

アプリケーションごとに .bat ファイルや alias で環境変数
を再設定すれば、確かに回避できますが、面倒ですよね。
# とか言いつつ結構やりますけどね。これは、インストーラが
# 勝手にCLASSPATHを設定してしまう(JDK以外の)Java開発ツ
# ールが多いためです。

> 少なくともpackageやimportを将来使うことを考えるのであれば
> CLASSPATH設定は考えておくべきものでしょう。

「CLASSPATH設定が必要な場合がある」という意味でしたら、
もちろんそのとおりです。
誤解する人がいるといけないので為念:
packageやimportを有無とCLASSPATH設定の有無は、
直接の関係はありません。

> あえて言うのであれば、
> set CLASSPATH=.;C:\jdk1.1.6\lib\classes.zip
> よりは
> set CLASSPATH=C:\jdk1.1.6\lib\classes.zip;.;
> の方がよいかな、位でしょうか。

何のために jdk\lib\classes.zip を含めているのでしょう?
百歩ゆずってまったく無害だったとしても。


Teruiさん:
> 取り敢えず、JDKをインストールしたディレクトリに展開されているreadmeを
> よく読んでください。CLASSPATHの設定、PATHの設定、その他の注意点が
> 書いてあります。

まったくそのとおりだと思いますが、readme には、
| You need to set the CLASSPATH only
| if you move classes.zip or want to load a different library
と書いてある一方で、TROUBLESHOOTING の項目に例の、
set CLASSPATH=.;C:\jdk1.1.6\lib\classes.zip
という記述があります。
「無設定でもいいし、これでも動くよ」などと書いてあり、
無設定と等価であることを言いたいのかもしれませんが、
紛らわしいので何か他の書きようはないものかと思います。


--------------
jdk\lib\classes.zip を含める必要があるとしたらどういう
場合だろう?と考えてみました。

他バージョンの core API をキャンセルするため、例えば、
set CLASSPATH=.;C:\jdk1.1.6\lib\classes.zip;AnotherCoreAPI
~~~~~~~~~~~~~~
というのはどうか?
この設定ではどうせ AnotherCoreAPI も使用できませんから、
削除するほうがマシであり、やはり無意味です。

思い付いたのは以下のような怪しい状況です。
あらかじめ設定済みの CLASSPATH 中に、本当に必要なクラス
パスと、他の core API がゴッチャに入っており、おおもとを
いじる権限がないとしたら、JDKを使う場合に限って、
set CLASSPATH=.;C:\jdk1.1.6\lib\classes.zip;%CLASSPATH%
とせざるを得ないかもしれません。

おおもとから jdk\lib\classes.zip を含める必要がある局面
は、どうしても思い付きません。
--
Hiroyuki "Faichan" Murata (村田弘幸) on PC + NT4.0WS SP3


0 new messages