Ant build не работает: невозможно найти компилятор javac
Я пытаюсь запустить некоторые примеры Java EE. Ant предлагает: Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7
Моя переменная JAVA_HOME
: C:\Program Files\Java\jdk1.7.0_03
, когда я смотрю на переменные Windows 7
Однако мой путь (обратите внимание на jdk1.6.0_26):
%M2_HOME%\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Microsoft Application Virtualization Client;%M2%;
C:\Program Files\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin;
%GLASSFISH%;%GLASSFISH_PARENT%;
PATH=C:\Maven\apache-maven-2.2.1\bin;C:\Ant\apache-ant-1.8.2\bin;**C:\Program File
s\Java\jdk1.6.0_26\bin;**C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C
:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Applicatio
n Virtualization Client;C:\Maven\apache-maven-2.2.1\bin;C:\Program Files\QuickTi
me\QTSystem\;C:\Program Files\TortoiseSVN\bin;C:\glassfish3\glassfish\bin;C:\gla
ssfish3\bin;C:\Sun\jwsdp-2.0\jwsdp-shared\bin
Нужно ли мне делать что-нибудь особенное, чтобы заставить окна сохранять мой путь?
Дополнительная информация:
C:\javaeetutorial5\examples\web\hello2>ant
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre7\li
b\tools.jar
Buildfile: C:\javaeetutorial5\examples\web\hello2\build.xml
-pre-init:
init:
default-ear:
-pre-compile:
bpp-actual-compilation:
[echo] Compiling hello2
[echo] javaee.classpath.prefix is: C:\glassfish3/lib
[echo] is.glassfish.v3 is: ${is.glassfish.v3}
[javac] C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93
: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=las
t; set to false for repeatable builds
BUILD FAILED
C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93: 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 "C:\Program Files\Java\jre7"
Total time: 0 seconds
Ответы
Ответ 1
Для eclipse
- Щелкните правой кнопкой мыши build.xml --- > Путь сборки --- > настроить путь сборки --- > выбрать вкладку библиотек
- нажмите "Добавить библиотеку" --- > дважды щелкните по [jre system library] --- > окружения --- > установлен jres --- > Добавить --- > стандарт vm
- щелкните по каталогу --- > Обзор upto jdk [C:\Program Files\Java\jdk1.7.0_01]
- отделка
- измените выделение jre на jdk --- > щелкните ok
Ответ 2
Быстрая работа для того же самого -
Копировать C:\Program Files\Java\jdk1.7.0_03\lib\tools.jar в C:\Program Files\Java\jre7\lib\
Это исключение приходит, потому что JAVA_HOME устанавливается как C:\Program Files\Java\jre7 и Ant не может найти в нем tools.jar.
Ответ 3
В Windows перейдите к свойствам компьютера, расширенным системным настройкам, расширенным переменным окружения
Добавьте системную переменную с именем "JAVA_HOME", установив ее папку в ваше местоположение JDK в моем случае "C:\Program Files\Java\jdk1.7.0_51"
Закройте командную строку, откройте ее и она должна работать.
Ответ 4
Если у вас установлены JRE и JDK в вашей системе, убедитесь, что JDK входит в первую переменную PATH.
Я думаю, что система сканирует переменную PATH слева направо, независимо от того, что приходит на первое место.
В моем случае (с LinuxMint) я получал ту же ошибку.
Когда я добавил JDK в переменную PATH до JRE, она решила мою проблему.
Ответ 5
Когда вы нажимаете на следующую кнопку в окне JRE Type после выбора Standard VM, вы переходите к следующему окну с именем JRE Definition, где вы можете найти кнопку Directory.
Ответ 6
Я получал ту же ошибку в Mac OS X, но все ответы, которые я мог найти, были для системы Windows, и поскольку пути немного отличаются друг от друга, эти решения не работали для меня. Потратив на это часы, я, наконец, смог исправить это следующим образом:
Скопировать/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/lib/tools.jar в/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/внутр
Он будет работать и для пользователей Windows:
Копировать C:\Program Files\Java\jdk1.8.0_91\lib\tools.jar в C:\Program Files\Java\jre8\lib\ext
P.S. Также учтите, что версии для jdk и jre, которые вы выбрали в Eclipse, совместимы.
Ответ 7
Получите эту ошибку в командной строке Ant в системе Windows 7 x64.
Ниже изменений исправлена проблема
Установлен JDK из серверы Oracle, а затем добавлена новая системная переменная JAVA_HOME со значением C:\Program Files\Java\jdk1.8.0_131