#java #ant #javadoc
#java #ant #Javadoc
Вопрос:
Я пытаюсь собрать задачу ant javadoc, которая будет использовать вложенный набор файлов и не может заставить его выводить что-либо.
Вот что у меня есть
<target name="javadoc_all" description="">
<cleanDir dir="${buildWorkingDir}/Javadocs/all" />
<javadoc destdir="${buildWorkingDir}/Javadocs/all" classpathref="path4javadoc" Verbose="true"
maxmemory="2048m" useexternalfile="yes" failonerror="no">
<fileset dir="${buildInputDir}/Java/src" defaultexcludes="yes" casesensitive="no">
<include name="com/pckg/**"/>
<exclude name="**/test/**"/>
</fileset>
</javadoc>
</target>
На выходе я получаю кучу «[javadoc] Загрузка исходного файла», затем он заканчивается успехом сборки и ничего не выводится
Если я использую sourcepath в директиве javadoc для установки источника, все работает, но тогда я не могу управлять списком включения / исключения.
Я использую jdk 1.8.0_102
Любая помощь приветствуется!
Комментарии:
1. Может быть, вы хотите попробовать без
defaultexcludes
атрибута?2. Спасибо, никаких изменений, тот же результат.
3. Больше экспериментировал, похоже, что fileset работает только в том случае, если количество файлов, которые он охватывает, невелико. Для ограниченного набора генерируется javadoc, как только я превышаю определенное число, он завершается с ошибкой, ошибка не отображается.
4. Попробуйте запустить в режиме отладки и посмотрите, есть ли какие-либо подсказки.
5. Похоже, packageset делает в основном то, что мне нужно. Это позволяет исключать на уровне пакета / папки. Однако он не позволяет вам выбирать отдельные файлы для исключения. Похоже, он также работает независимо от того, сколько файлов задействовано.
Ответ №1:
Мое окончательное решение закончилось использованием нескольких наборов пакетов
<packageset dir="${buildInputDir}/Java/src">
<include name="**"/>
<exclude name="**/test*/**"/>
</packageset>
<packageset dir="${buildInputDir}/MoreSourceFiles/src">
<include name="**"/>
<exclude name="**/test*/**"/>
</packageset>
Это не идеально, поскольку не позволяет исключать по имени файла, только по имени пакета, но это было ближе всего к тому, что мне было нужно.