シンボル解決

リンク、実行時のシンボル解決について。

Java

コンパイル時は、コンパイルしているソースが参照するクラスが、以下のどこかにあれば良い。ここで、参照するクラスは my.package.X とする。

  1. クラスパスで指定されたディレクトリに my/package/X.class がある。
  2. クラスパスで指定されたディレクトリに my/package/X.java がある。(この X.java はコンパイルされ、X.java と同じディレクトリに X.class などができる)
  3. クラスパスで指定された jar に X が入っている。
  4. 同時に X.java のコンパイルが指定されている。この時 X.java はどこにあっても良い。

クラスパスを指定しない場合はカレントディレクトリがクラスパスとなる。