Подтвердить что ты не робот

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
4b9b3361

Ответ 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