Ant использует неверную версию Java - PullRequest
66 голосов
/ 04 июня 2009

Я использую Ant 1.7.0 и установил Java 1.6, который находится в JAVA_HOME.

Я хочу построить проект с использованием Java 1.5, поэтому я экспортировал JAVA_HOME в мой каталог Java 1.5.

java -version

говорит "1,5". Когда я запускаю Ant, он использует Java 1.6.

Ответы [ 15 ]

71 голосов
/ 15 апреля 2011

Только что возникла эта проблема, это произошло потому, что я впервые добавил файл сборки в ant-view, когда JRE по умолчанию было 1.6.

Не было JRE для конкретного проекта, и я изменил значение по умолчанию на 1,5, даже Eclipse был запущен в 1,5, и JAVA_HOME тоже был 1,5. Для запуска цели ant из командной строки использовался JRE 1.5, но в затмении он все еще использовал 1.6.

Мне пришлось щелкнуть правой кнопкой мыши цель ant, выбрать Run As ... и изменить JRE на вкладке JRE. Этот параметр запоминается для последующих запусков.

29 голосов
/ 24 мая 2013

В Затмении:

  • Щелкните правой кнопкой мыши свой build.xml

  • нажмите «Запуск от имени», нажмите «Внешние настройки инструмента ...»

  • Выберите вкладку JRE . Выберите используемую вами JRE.

Перезапустите задачу, теперь все должно быть в порядке.

19 голосов
/ 04 июня 2009

Согласно руководству по муравьям , настройка JAVA_HOME должна работать - вы уверены, что измененная настройка видна муравью?

Либо вы можете использовать переменную JAVACMD.

15 голосов
/ 05 июня 2009

Вы можете использовать свойства target и source в теге javac для установки целевого времени выполнения. В приведенном ниже примере будет компилироваться любой исходный код для целевой версии 1.4 на любом компиляторе, который поддерживает версию 1.4 или более позднюю.

<javac compiler="classic" taskname="javac" includeAntRuntime="no" fork=" deprecation="true" target="1.4" source="1.4" srcdir="${src}" destdir="${classes}">

Примечание: 'srcdir' и 'destdir' - это значения свойств, заданные в другом месте в сценарии сборки, например <property name="classes" value="c:/classes" />

15 голосов
/ 04 июня 2009

Запуск муравья в подробном режиме: ant -v и поиск подсказок.

10 голосов
/ 24 сентября 2010

Этого можно добиться с помощью следующих шагов, если вы используете Eclipse IDE:

  1. Щелкните правой кнопкой мыши задачу в файле сборки Ant (build.xml).

  2. Наведите курсор мыши на «Запуск от имени», нажмите «Внешние настройки инструмента ...».

  3. Добавить в "Аргументы" следующее:

    -Dant.build.javac.target=1.5 -Dant.build.javac.source=1.5
    
5 голосов
/ 18 июля 2011

Это довольно старый вопрос, но я добавлю свои заметки для будущих ссылок.

У меня была похожая проблема, и я исправил ее, изменив порядок экспорта в переменной PATH.

Например, я использовал метод объединения строк в моем PATH, выполнив (это только пример):

$> export PATH='$PATH:'$JAVA_HOME

Если бы моя переменная PATH уже содержала java, последнее значение было бы бессмысленным, поэтому порядок имел бы значение. Чтобы решить эту проблему, я начал инвертировать ее, сначала добавив свою переменную, а затем добавив PATH.

Следуя этой идее, я инвертировал порядок экспорта ANT_HOME. Добавление JAVA_HOME до ANT_HOME.

Это может быть просто совпадением, но у меня это сработало.

5 голосов
/ 04 июня 2009

Вы также можете указать в задаче javac какой уровень совместимости (1.4, 1.5, 1.6) вы хотите использовать, вы можете установить значения «исходного» и «целевого» уровня, проверьте документы здесь: Документация по заданию Javac

4 голосов
/ 25 февраля 2016

Файл сборки:

<target name="print-version"> 
   <echo>Java/JVM version: ${ant.java.version}</echo> 
   <echo>Java/JVM detail version: ${java.version}</echo> 
</target>

Выход:

[echo] Java/JVM version: 1.5
[echo] Java/JVM detail version: 1.5.0_08
2 голосов
/ 13 сентября 2014

Если вы не используете затмение. Затем вы можете изменить свойство ant java непосредственно в файле, как упомянуто здесь.

http://pissedoff -techie.blogspot.in / 2014/09 / ANT-кирка-вверх-некорректная-ява-version.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...