Короткий ответ - нет, это не так, как работают каталоги classpath.
Каждый каталог classpath рассматривается как корень структуры пакета. Каждый пакет представляет собой каталог в корне. Таким образом, javac сделает это автоматически, если aa является каталогом пакета, а a является корневым. Ваши классы будут выглядеть так:
/ а / A.java
class A {}
/ а / аа / AA.java
package aa;
class AA {}
/ б / B.java
package b;
import aa.AA;
class B {
private AA aaInstance;
private A aInstance;
}
Поскольку у A нет пакета, он помещается в корневой пакет.
В противном случае вы должны явно установить каждый источник dir.