Сборка Ant не работает: невозможно найти компилятор javac - PullRequest
20 голосов
/ 29 марта 2012

Я пытаюсь запустить несколько примеров Java EE.Муравей предлагает: 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

Ответы [ 7 ]

41 голосов
/ 20 августа 2012

Для затмения

  • Щелкните правой кнопкой мыши build.xml ---> Путь сборки ---> Настроить путь сборки ---> Выберите вкладку библиотек
  • нажмите "Добавить библиотеку" --> дважды щелкните [системная библиотека jre] ---> окружения ---> установленный jres ---> добавить ---> стандартный vm
  • щелкните по каталогу ---> перейдите к jdk [C: \ Program Files \ Java \ jdk1.7.0_01]
  • финиш
  • изменить выбор JRE на JDK ---> нажмите кнопку ОК
20 голосов
/ 20 июня 2014

Быстрый способ обойти то же самое:

Скопировать 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.

4 голосов
/ 11 февраля 2014

В Windows перейдите к свойствам компьютера, дополнительным системным настройкам, дополнительным параметрам, переменным среды

Добавьте системную переменную с именем "JAVA_HOME", установите в своей папке папку JDK в моем случае "C: \ Program Files \Java \ jdk1.7.0_51 "

Закройте командную строку, снова откройте ее, и она должна работать.

3 голосов
/ 03 апреля 2016

Если в вашей системе установлены и JRE, и JDK, убедитесь, что JDK стоит на первом месте в переменной PATH.

Я думаю, что система сканирует переменную PATH слева направо, и все, что будет первым, принимаетсярассмотрение.

В моем случае (с LinuxMint) я получал ту же ошибку.Когда я добавил JDK в переменную PATH перед JRE, это решило мою проблему.

2 голосов
/ 23 июня 2016

Я получал ту же ошибку в 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, были совместимы.

1 голос
/ 07 декабря 2013

Когда вы нажимаете кнопку next в окне JRE Type после выбора Standard VM, вы переходите к следующему окну с именем JRE Definition, где вы можете найти кнопку Directory.

0 голосов
/ 02 июня 2017

Получил эту ошибку в командной строке Ant в системе Windows 7 x64.

Ниже изменения исправлена ​​проблема

Установил JDK с серверов Oracle , а затем добавил новую системную переменную JAVA_HOME со значением C: \ Program Files \ Java \ jdk1.8.0 _131

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