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

Ant "JAVA_HOME не указывает на JDK", но он делает

Я не могу запустить мой Ant build.xml, так как я обновился до java 1.7.0_52 (или там примерно). Я работаю в течение многих лет через Eclipse локально на своем ноутбуке Windows 7, но с этим последним jave-jdk-обновлением что-то другое (?).

BUILD FAILED
C:\workspace\WaterAspectsModel3\build.xml:329: 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 "D:\Morten\Java\jdk1.7.0_52"

Это мой jdk! Поэтому JAVA_HOME указывает на jdk (как это также видно из сообщения об ошибке). У меня есть мой JAVA_HOME с папкой bin на моем пути, как всегда. Я настроил Eclipse - настройку внешних инструментов - с JRE, указывающим на тот же D:\Morten\Java\jdk1.7.0_52 (через параметр "Отдельный JRE" ). И я пробовал ряд других конфигураций - все без везения.

Я читал тон ответов на списки здесь и в других местах и ​​думаю, что я пробовал все предложения. Большинство из них, похоже, являются случаями, когда JAVA_HOME фактически указывает на jre и просто нуждается в исправлении для jdk или там есть; на пути или что-то в этом роде. Ни один из них, похоже, не применим в моем случае.

Любые предложения?

4b9b3361

Ответ 1

Реальное сообщение состоит в том, что Ant не может найти com.sun.tools.javac.Main.

Что, вместе с тем, что последний "Sun" (Oracle) JDK равен 1.7.0_13 (или, может быть, _14, но определенно не "_52", о котором указывает ваш установочный каталог), заставляет меня думать, что вы не используя распределение, которое распознает Ant. Вы можете проверить это, запустив jar tvf $JAVA_HOME/lib/tools.jar и выбрав этот класс.

Ant Manual рассказывает о способах работы с разными компиляторами. Поскольку я использовал только компиляторы Sun, я боюсь, что не могу дать вам никаких указателей.


Изменить: вы также можете попробовать установить fork="yes" в свой файл сборки. Это должно запускать исполняемый файл компилятора, а не пытаться вызвать класс компилятора.

Ответ 2

У меня было то же сообщение при запуске ANT через Eclipse.

Что сработало для меня:

  • В Eclipse откройте меню: "Окно → Настройки";
  • Доступ "Ant → Runtime", в дереве;
  • Доступ к вкладке Classpath;
  • Разверните элемент "Глобальные записи";
  • Внутри глобальных записей путь к tools.jar был неправильным. Он указывал на более старую версию Java;
  • Я удалил неправильную запись и добавил правильный вариант с кнопкой "Добавить внешние банки". Это сработало.

enter image description here

Ответ 3

Решение "Had to copy C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar to C:\Program Files\Java\jre6\lib\ext" из здесь был очень полезен и работал у меня.

Ответ 4

Попробуйте добавить JAVA_HOME\bin к вашему env PATH.

Ответ 5

Добавить JAVA_HOME в Eclipse-Preferences-Java-Build Path-Classpath Variables.