Как я могу получить Javac для поиска дочерних каталогов classpath? - PullRequest
0 голосов
/ 12 ноября 2008

У меня есть 3 файла: /a/A.java /a/aa/AA.java /b/B.java и B.java зависит от A.java и AA.java.

Я в основном хочу, чтобы javac -classpath / a /b/B.java работал (т.е. поиск javac ниже / a). Есть ли способ, которым я могу это сделать?

1 Ответ

3 голосов
/ 12 ноября 2008

Короткий ответ - нет, это не так, как работают каталоги 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.

...