Как изменить JAVA.HOME для Eclipse/ANT

Я пытаюсь подписать файл jar с помощью ANT script. Я знаю, что это нужно указывать на каталог JDK для jarsigner.exe для запуска, но когда я эхо java.home, он возвращает каталог JRE.

Это не проблема для javac, потому что я могу установить исполняемый путь. Но этого не существует для signjar.

Как мне изменить путь java.home? Когда я нажимаю правой кнопкой мыши MyComputer и перехожу к

Свойствa > Дополнительно > Переменные среды

Переменная "PATH" правильно указана на JDK (C:\program files\java\jdk\bin).

Обновление. Файл теперь правильно отображается после изменения переменной PATH, предложенной ниже.

Ответ 1

В Eclipse переменная Ant java.home не основана на переменной окружения Windows JAVA_HOME. Вместо этого он устанавливается в домашний каталог проекта JRE.

Чтобы изменить стандартную JRE (например, изменить ее на JDK), вы можете перейти в Windows- > Preferences... и выбрать Java- > Installed JREs.

Чтобы изменить только один проект JRE, вы можете перейти в Project- > Properties и выбрать Java Build Path и выбрать вкладку Libraries. Найдите Системную библиотеку JRE и щелкните по ней, затем выберите "Редактировать" и выберите JRE (или JDK), который вы хотите.

Если это не сработает, то при запуске файла сборки вы можете выбрать "Запустить как → Ant" Сборка... "и щелкнуть вкладку JRE, выбрать отдельную JRE и указать JRE, который вы там хотите.

Ответ 2

Для меня ant, по-видимому, отказывается слушать любую конфигурацию для eclipse default, проект JDK, а предложение "Ant Home Entries" просто не имеет тяги - там ничего не было, ссылаясь на JDK.

Однако это работает:

Menu "Run" -> "External Tools" -> "External Tools Configuration".
  Goto the node "Ant build", choose the ant buildfile in question.
     Choose tab "JRE".
        Select e.g. "Run in same JRE as workspace", or whatever you want.

Ответ 3

В Windows вы должны следовать:

Пуск → Панель управления → Система → Дополнительно → Переменные среды.

... и вам нужно установить JAVA_HOME (который отличается от указанной переменной PATH), чтобы ссылаться на домашний каталог JDK, а не подкаталог bin; например "C:\program files\java\jdk".

Ответ 4

Просто, чтобы привести версию JAVA в Ant в Eclipse:

Используйте опцию RunAs в файле Ant, затем выберите Внешняя настройка инструмента на вкладке JRE, чтобы определить версию JDK/JRE, которую вы хотите использовать.

Ответ 5

Также не забудьте установить переменную среды JAVA_HOME. Фактически, я обычно устанавливаю JAVA_HOME, а затем добавляю строку "%JAVA_HOME%\bin" к переменной среды PATH системы, поэтому, если Java когда-либо обновляется или изменяется, необходимо изменить только переменную JAVA_HOME.

И убедитесь, что вы закрываете окна командной строки или открываете приложения, которые могут читать ваши переменные среды, поскольку изменения в переменных среды обычно не замечаются до тех пор, пока приложение не запустится.

Ответ 6

Прошло несколько часов, стоящих перед этим вопросом сегодня утром. Я, вероятно, буду наименее техническим человеком на этих форумах. Как и реквестер, я переносил каждое напоминание, чтобы установить% JAVA_HOME%, каждый раз кусая свой язык, когда я видел этот неясный совет. Наконец, я подумал о том, был ли мой ноутбук JRE версией раньше моего JDK (поскольку JRE регулярно обновляются автоматически), и я установил последнюю версию JDK. Разница была незначительной, исходя из нескольких недель разных версий. Я начал с этой ошибки на jdk v 1.0865. JRE была 1.0866. После установки у меня был jdk v1.0874 и эквивалентный JRE. В этот момент я направил Eclipse JRE, чтобы сосредоточиться на моем JDK, и все было хорошо. Моя версия java.home даже отражала правильную JRE.

Так много отзывов повторили неправильные ответы. Я бы настоятельно попросил людей прочитать отзывы от других, чтобы избежать ненужной избыточности. Будьте внимательны, SG

Ответ 7

Если вы используете Eclipse, попробуйте следующее:

  • Щелкните правой кнопкой мыши файл сборки ant, затем выберите "Свойства".
  • Нажмите "Параметры запуска/отладки", затем щелкните файл конфигурации запуска. Тогда вы сможете отредактировать его.
  • После того, как вы нажмете "Изменить", вы увидите новое окно со вкладкой "Свойства", которое покажет вам список свойств ant build. В списке есть свойство "java.home". Убедитесь, что он ссылается на правильный путь.

Ответ 8

Перейдите в переменную окружения и добавьте

JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_37

до пути jdk (исключить папку bin)
теперь установите JAVA_HOME в путь как PATH=%JAVA_HOME%\bin;
Это установит путь Java для всех приложений, которые используют java.

Для ANT используйте

ANT_HOME=C:\Program Files (x86)\apache-ant-1.8.2\bin;

и включить ANT_HOME в PATH, так что путь будет выглядеть как PATH=%JAVA_HOME%\bin;%ANT_HOME%;

Ответ 9

Установить переменные среды

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

Для Windows XP. Чтобы установить переменные среды в Windows XP, щелкните правой кнопкой мыши Мой компьютер и выберите "Свойства". Затем перейдите на вкладку "Дополнительно" и нажмите кнопку "Переменные среды" внизу.

Для Windows 7. Чтобы установить переменные среды в Windows 7, щелкните правой кнопкой мыши на компьютере и выберите "Свойства". Нажмите "Дополнительные параметры системы" и нажмите кнопку "Переменные среды" внизу.

Диалог для Windows XP и Windows 7 одинаковый. Убедитесь, что вы работаете только с системными переменными, а не с переменными пользователя.

Единственная переменная среды, которая вам абсолютно необходима, - JAVA_HOME, которая сообщает Ant местоположение вашей JRE. Если вы установили JDK, это, скорее всего, c:\Program Files\Java\jdk1.x.x\jre в Windows XP и c:\Program Files(x86)\Java\jdk1.x.x\jre в Windows 7. Вы заметите, что оба имеют пробелы на своих путях, что вызывает проблему. Вам нужно использовать измененное имя [3] вместо полного имени. Поэтому для Windows XP используйте C:\Progra~1\Java\jdk1.x.x\jre и для Windows 7 используйте C:\Progra~2\Java\jdk1.6.0_26\jre, если он установлен в папке Program Files (x86) (в противном случае используйте то же, что и Windows XP).

Этого достаточно, чтобы заставить работать Ant, но для удобства, его хорошая идея добавить двоичный путь Ant к переменной PATH. Эта переменная представляет собой список каталогов, разделенных точкой с запятой, для поиска исполняемых файлов. Чтобы иметь возможность запускать Ant в любом каталоге, Windows должна знать как расположение двоичного кода Ant, так и двоичного кода java. Вам нужно добавить оба этих параметра в конец переменной PATH. В Windows XP вы, вероятно, добавите что-то вроде этого:

;c:\java\ant\bin;C:\Progra~1\Java\jdk1.x.x\jre\bin

В Windows 7 он будет выглядеть примерно так:

;c:\java\ant\bin;C:\Progra~2\Java\jdk1.x.x\jre\bin

Готово

Как только вы это сделали и применили изменения, вам нужно открыть новую командную строку, чтобы проверить, правильно ли установлены переменные. Вы должны просто запустить Ant и посмотреть что-то вроде этого:

Buildfile: build.xml does not exist!
Build failed

Ответ 10

В дополнение к проверке того, что исполняемые файлы находятся на вашем пути, вы также должны убедиться, что Ant может найти tools.jar в вашем JDK. Самый простой способ исправить это - добавить путь tools.jar к пути класса Ant:

Добавление tools.jar в  Ant classpath.