2012-03-29 3 views
17

Я пытаюсь запустить некоторые примеры Java EE. Ant предлагает,: Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7Ant build не работает: не удалось найти компилятор javac

Моя JAVA_HOME переменная: C:\Program Files\Java\jdk1.7.0_03 когда я смотрю на моих окнах 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 

Do I нужно сделать что-нибудь особенное, чтобы окна могли сохранить мой путь?

Дополнительная информация:

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 

ответ

37

Для затмения

  • Щелкните правой кнопкой мыши build.xml ---> Построить путь ---> настроить buildpath ---> выберите вкладку библиотеки
  • нажмите «Добавить библиотеку» ---> дважды щелкните по [jre system library] ---> окружения ---> установлен jres ---> Добавить ---> стандарт vm
  • нажмите на каталог ---> Обзор вверх jdk [C: \ Program Files \ Java \ jdk1.7.0 _01]
  • закончить
  • изменения выбора JRE для JDK ---> нажмите кнопку ОК
+0

Очень полезно, спасибо – DT7

1

При нажатии на следующей кнопки в окне Типа JRE после выбора стандартной виртуальной машины вы идете к следующему окно с именем JRE Definition, где вы можете найти кнопку «Каталог».

4

В окнах, перейдите на свойствах компьютера, расширенные настройки системы, расширенные, переменные окружения

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

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

16

Быстрая работа вокруг то же

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

+1

вы, сэр, только что сохранили мой j0b. –

+0

YOu спас мое время –

+0

Спасибо, сэр! – Leo

2

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

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

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

1

Я получал такую ​​же ошибку в Mac OS X, но все ответы, которые я мог найти, были для системы Windows, и, поскольку пути немного отличаются друг от друга, эти решения не работали для меня.Потратив на это часы, я, наконец, смог исправить это следующим образом:

Копия /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/lib/tools.jar to/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Содержание/Главная/JRE/Библиотека/внутр

Он будет работать для пользователей Windows, тоже:

Копировать C: \ Program Files \ Java \ jdk1.8.0_91 \ lib \ tools.jar для C: \ Program Files \ Java \ jre8 \ lib \ ext

PS Также учтите, что версии для jdk и jre, которые вы выбрали в Eclipse, совместимы.

0

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

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

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

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