Использование Ant для компиляции проекта на основе одного файла и его зависимостей - PullRequest
2 голосов
/ 08 февраля 2011

В настоящее время при создании нашего проекта мы используем:

javac <various command line options> C:\project\CompilationHelper.java

Затем класс CompilationHelper ссылается на наши основные файлы и через цепочку зависимостей компилируется все, что нам нужно, и больше ничего.Каталог классов затем jar'ed.

Я начал использовать ant и заметил, что, просто создав нашу исходную директорию, мы получаем файл .jar большего размера, чем обычно.

Я понимаю, чтоЛучшее решение - найти все неиспользуемые файлы .java и удалить их, но на самом деле у нас есть один «основной» проект и один «дочерний» проект, в котором используется множество компонентов основного, и разделение их в настоящий момент невозможно.

Есть ли способ заставить ant скомпилировать один файл и все его зависимости, а не каталог?

Заранее большое спасибо,

Dave

1 Ответ

3 голосов
/ 09 февраля 2011

Вы также можете использовать свой метод CompilationHelper в ant.Просто передайте CompilationHelper.java вашей задаче javac вместо всего исходного каталога.

Вот пример:

<javac srcdir="src"
       destdir="classes">
  <include name="CompilationHelper.java" />
</javac>

Если все исходные файлы (в соответствии со структурой пакета)ниже src и класса CompilationHelper без пакета в этом каталоге, он должен работать.

...