Почему муравей думает, что у меня старая версия Java? - PullRequest
1 голос
/ 20 марта 2009

Я пытаюсь собрать Groovy из исходного кода (на RH Linux), используя ant, но по какой-то причине он считает, что моя версия Java - 1.4, а не 1.6, и, следовательно, он не будет компилироваться Оскорбительные строки кажутся

<condition property="groovy.build.vm5">
    <not>
        <contains string="${ant.java.version}" substring="1.4"/>
    </not>
</condition>

в build.xml.

Когда я набираю javac -version в командной строке, он отображает «javac 1.6.0_11». Есть идеи?

Ответы [ 3 ]

8 голосов
/ 20 марта 2009

Проверьте значение переменных среды JDK_HOME и JAVA_HOME.

РЕДАКТИРОВАТЬ: «Какие Java» скажет вам, какая Java вы получаете, когда вы запускаете Java из командной строки. Если это говорит, например, что вы получаете «/ usr / lib / jvm / java-6-sun / bin / java», вы можете установить «JAVA_HOME» в «/ usr / lib / jvm / java-6». -Sun "

3 голосов
/ 20 марта 2009

Ответ Джона Брайта намекает в правильном направлении: возможно, ваша установка ant использует другую версию java, чем та, к которой вы обращаетесь через 'java -version'. На это влияют переменные окружения JDK_HOME и JAVA_HOME.

РЕДАКТИРОВАТЬ: Если эти переменные отсутствуют, то ant должен найти Java из установки, которая вызвала ant. Но если вы установите эти переменные, ant выберет их. Так что установка этих переменных для установки JDK1.6 стоит попробовать. В Linux ваша Java может находиться в подкаталоге /usr/lib/jvm.

0 голосов
/ 20 марта 2009

Я бы проверил переменную окружения PATH.

Что вы получаете, когда вы на чистой оболочке (недавно запущенной) выполните:

$ java -version

Ant, вероятно, думает, что вы пытаетесь использовать JVM и компилятор OpenJDK (я думаю, он поставляется с RH). Попробуйте удалить это тоже.

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