2016-11-23 5 views
0

Я пытаюсь создать несколько исполняемых файлов приложения. Когда я пытаюсь сделать сборку, я получаю это:Ant не может найти компилятор javac

BUILD FAILED /home/.../ant-build.xml:84: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "/usr/lib/jvm/java-8-openjdk-amd64/jre"

Приложение требует Java 7, и я его установили, но я имел его по Java 8. Сборка требует для tools.jar, который находится только в java 7, поэтому после нескольких попыток я удалил java 8. Однако, когда я пытаюсь сделать снова, я получаю ту же ошибку, даже если у меня нет java8 вообще!

Я установил JAVA_HOME правильно:

$ echo $JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64/ Я сомневаюсь, что мне нужно путь, но я установил, что один на всякий случай, а также:

$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-7-openjdk-amd64/bin

Я бегу из идей здесь: P любая помощь была бы оценена.

Также что-то важное, мне пришлось добавить репо вручную, чтобы получить java-7, иначе он не смог найти пакет. То когда я получил двойной jdk-s.

+0

Таким образом, проблема в том, что ваш билд жалуется на старое значение $ ПАПКА_УСТАНОВКИ_JAVA, что указывает на JRE8 вместо обновленной значения для JDK7? –

+0

Im не уверен, он чувствует себя так, но, поскольку он был полностью удален, я думаю, что он должен измениться. В начале также указывается 'Невозможно найти tools.jar. Ожидалось найти его в/usr/lib/jvm/java-8-openjdk-amd64/lib/tools.jar'. –

+0

попробуйте установить его внутри вас ~/.bashrc или в /etc/bash.bashrc, а затем source ~/.bashrc или source /etc/bash.bashrc –

ответ

0

Я думаю, вы вызываете команду JAVAC из любого другого источника/инструмента, такого как Jenkins/Bamboo/Teamcity. Убедитесь, что вы установили переменную среды этого инструмента. обычно он находится в опции инструмента управления.

Я столкнулся с такой же проблемой при использовании Jenkins. Если вы не настроите переменную окружения в инструменте, с которого вы делаете звонок, он принимает ваш "/ usr/lib/jvm/java-8-openjdk- amd64/jre ", так что идите и установите переменную env JAVA_HOME из ваших инструментов. прикрепленный экранный снимок проблемы Дженкинса. Перейдите в «Управление Jenkins -> configure system -> переменными окружения и укажите путь java_home. Приветствия issue enter image description here

Смежные вопросы