Javaのインポート/クラスパスの状況がどのように機能するかを理解することに取り組んでいます。コンパイルエラーを発生させたいので、「Java 環境変数をいじってみましょう」と言いました ( JAVA_HOME
becomeなどを作成するJAV_HOM
など)。
しかし、それはうまくいかないようです。すべてが正常にコンパイルされます。drJava を使用していることは重要ですか? 再起動も試しましたがダメでした。
Javaのインポート/クラスパスの状況がどのように機能するかを理解することに取り組んでいます。コンパイルエラーを発生させたいので、「Java 環境変数をいじってみましょう」と言いました ( JAVA_HOME
becomeなどを作成するJAV_HOM
など)。
しかし、それはうまくいかないようです。すべてが正常にコンパイルされます。drJava を使用していることは重要ですか? 再起動も試しましたがダメでした。
JAVA_HOME をいじっても、クラスパスが壊れることはまずありません。
JAVA_HOME 環境変数は主に、コード (知る必要がある場合) とサードパーティ ツールに Java インストールの場所を伝えるために使用されます。Java のインストール (java
およびjavac
ツールなど) は、これに注意を払いません。これらのコマンドを実行すると、インストールの場所が暗黙的に指定されます。これは、実行している Java ツールの親ディレクトリです。
第二に、見つからない可能性のあるインストール内のもの(「rt.jar」および「tools.jar」ファイルなど) は、実際には通常のクラスパスではなく「ブート クラスパス」にあります。ブートクラスパスは、関連するツールによって暗黙的に形成されます...コマンドラインオプションなどで明示的にオーバーライドしない限り.
drJava がそのクラスパスをどのように管理しているかわかりません。CLASSPATH 環境変数に注意を払うかもしれませんが、それを無視しても驚かないでしょう。(通常、IDE は、プロジェクト構造などに基づいて独自の方法でクラスパスを管理します。)
このような実験を行う場合は、コマンド ラインから実行する方がよいでしょjava
うjavac
。これらのクラスパスは、-jar
オプション (および JAR マニフェストの内容)、-cp
オプション、またはCLASSPATH
環境変数のいずれかによって決定されます。これについては、コマンドのオンライン マニュアルに記載されていますjava
。