Я пытаюсь скомпилировать Java-проект из командной строки. Проект содержит файлы классов в разных пакетах. Программа компилируется и работает нормально, если я укажу каждый java-файл каждого пакета. Вот моя структура каталогов:Автоматическая сборка нескольких пакетов java
toplevel/
mainFile.java
level1/ (Contains fileA.java)
Теперь, если я javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java
, это компилируется нормально и я могу запустить его с java toplevel/mainFile
. Теперь, если создать новую папку под названием «level2» в ровном1 и создать класс «B» внутри него, новая структура каталогов становится:
toplevel/
mainFile.java
level1/ (Contains fileA.java)
level2/ (Contains fileB.java)
Для компиляции этого я должен сделать: javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java toplevel/level1/level2/fileB.java
, которая становится смешной. Есть ли инструкция, которая рекурсивно компилирует каждый пакет и файлы внутри него?
Почему бы не использовать инструмент сборки, например ant или maven? Это будет тривиально с ними. – rocketboy
Возможный повтор [javac вариант для компиляции рекурсивно] (http://stackoverflow.com/questions/6623161/javac-option-to-compile-recursively) –
@rocketboy Я не хочу использовать какой-либо инструмент сборки, для этого требуется обучение некоторые дополнительные вещи. Пользователь должен иметь возможность запускать его из командной строки – df611