Как отметил @Daniel Kutik, presetdef
- хороший вариант. Особенно, если вы работаете над проектом со многими build.xml
файлами, которые нельзя или не хотите редактировать (например, от сторонних разработчиков).
Чтобы использовать presetdef
, добавьте эти строки в файл build.xml
верхнего уровня:
<presetdef name="javac">
<javac includeantruntime="false" />
</presetdef>
Теперь все последующие javac
задачи будут по существу наследовать includeantruntime="false"
. Если вашим проектам действительно нужны библиотеки времени выполнения ant, вы можете либо явно добавить их в файлы сборки, либо установить includeantruntime="true"
. Последний также избавится от предупреждений.
Последующие javac
задачи все еще могут явно изменить это при желании, например:
<javac destdir="out" includeantruntime="true">
<src path="foo.java" />
<src path="bar.java" />
</javac>
Я бы рекомендовал не использовать ANT_OPTS
. Это работает, но это побеждает цель предупреждения. Предупреждение говорит о том, что сборка может вести себя по-другому в другой системе. Использование ANT_OPTS
делает это еще более вероятным, потому что теперь каждая система должна использовать ANT_OPTS
одинаково. Кроме того, ANT_OPTS
будет применяться глобально, подавляя предупреждения волей-неволей во всех ваших проектах