/a/A.java /a/aa/AA.java /b/B.java と B.java は、A.java と AA.java に依存する 3 つのファイルがあります。
私は基本的に javac -classpath /a /b/B.java が機能することを望んでいます (つまり、/a の下で javac 検索を行います)。これを行う方法はありますか?
短い答えはノーです。それは、クラスパス ディレクトリがどのように機能するかではありません。
各クラスパス ディレクトリは、パッケージ構造のルートと見なされます。各パッケージは、ルート内のディレクトリです。したがって、aa がパッケージ ディレクトリであり、a がルートである場合、javac は自動的にこれを行います。クラスは次のようになります。
/a/A.java
class A {}
/a/aa/AA.java
package aa;
class AA {}
/b/B.java
package b;
import aa.AA;
class B {
private AA aaInstance;
private A aInstance;
}
A にはパッケージがないため、ルート パッケージに配置されます。
それ以外の場合は、各ソース ディレクトリを明示的に設定する必要があります。