Linux для компиляции нескольких файлов Java - PullRequest
1 голос
/ 26 сентября 2008

вот моя структура каталогов.

/ пользователь / а / Пользователь / б / Пользователь / б

внутри папки a, b, c есть файл person.java (это тот же файл, только одна строка модификации.

Теперь, на моей оболочке, я в моей / user / директории, и я пытаюсь сделать

   javac */person.java

оболочка возвращает следующую ошибку,

person.java: 14: дубликат класса: персона

Есть что-нибудь, чтобы решить это?

Ответы [ 2 ]

8 голосов
/ 26 сентября 2008

Я думаю, что проблема здесь может заключаться в том, что javac пытается скомпилировать все за один раз, что, естественно, приводит к дублированию определений классов.

Простой способ решить эту проблему будет

find . -name '*.java' -exec javac {} \;

Edit:

Или, если быть более точным find . -name 'person.java' -maxdepth 2 -exec javac {} \;

1 голос
/ 26 сентября 2008

Я бы пошел для небольшого сценария оболочки:

for f in */person.java; do
  javac $file
done

В первой строке найдите все файлы person.java в подкаталоге, во второй строке скомпилируйте файл.

...