Ответ 1
Использовать атрибут "target" и удалить атрибут "компилятор". См. здесь. Поэтому он должен выглядеть примерно так:
<target name="compile">
<javac target="1.5" srcdir=.../>
</target>
Надеюсь, что это поможет
Мне нужно скомпилировать файл jar с помощью ant (1.7.0) для запуска под определенной версией Java (1.5). В настоящее время у меня Java 1.6 на моей машине. Я пробовал настройку:
<target name="compile">
<javac compiler="javac1.5" target="1.5" srcdir=.../>
</target>
Я также удалил
<property name="build.compiler" value="modern"/>
и нет файла свойств. Я запускаю Java 1.6 на Linux/SUSE
Также есть простой способ определить, какая версия Java ожидается в файле jar.
Использовать атрибут "target" и удалить атрибут "компилятор". См. здесь. Поэтому он должен выглядеть примерно так:
<target name="compile">
<javac target="1.5" srcdir=.../>
</target>
Надеюсь, что это поможет
Необходимо указать источник и цель. Я рекомендую предоставить ant defaults, поэтому вам не нужно указывать атрибут source/target для каждой задачи javac:
<property name="ant.build.javac.source" value="1.5"/>
<property name="ant.build.javac.target" value="1.5"/>
Подробнее см. заметки кросс-компиляции Java.
Чтобы найти версию java в файлах классов, которые я использовал:
javap -verbose <classname>
который объявляет версию в начале как
minor version: 0
major version: 49
который соответствует Java 1.5
Вы также можете установить свойство {{ant.build.javac.target=1.5}}
ant для обновления целевой задачи задачи по умолчанию.
См. http://ant.apache.org/manual/javacprops.html#target