2009-08-17 2 views
40

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

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

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

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

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

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

ответ

11

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

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

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

+0

Изменение этому переменному сделало это так крах сценария оленьей кожи так что спасибо вам там. Обновление выше - файлы SF и DSA не помещаются в JAR – Ken

4

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

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

+0

Спасибо, что файл уже подписался, но в папке META-INF я не получаю файл SF или DSA, который я получаю, когда я вручную подписываю банку. WebStart по-прежнему говорит неподписанные записи. Что-нибудь особенное, что я должен сделать для того, чтобы появляться или нужны? – Ken

47

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

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

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

Если это не работает, то при запуске файла сборки, вы можете выбрать Run как-> Ant Построить ... и нажмите на вкладкуJRE, выберите отдельный JRE и указать JRE вы хотите там ,

+0

Это не работает для меня - тесты, запущенные из муравья, все еще имеют среду java eclipse. (Я запускаю eclipse с моей java-версией по умолчанию, что составляет 1.8 ea, но проект не может работать с 1.8 (из-за того, что некоторые файлы ASM не совместимы с 1.8 скомпилированными классами), но ant отказывается слушать JDK по умолчанию Eclipse или проект JDK .. В записи Ant Home Entries нет ничего, что указывает на JDK. – stolsvik

+0

Итак, я немного смущен. В первом предложении говорится, что «тесты, запущенные Ant, наследуют среду Java Eclipse», но вы заканчиваете словами «Ant отказывается слушать» для Eclipse's JDK ". Если вы хотите, чтобы Eclipse запускал ваш проект с 1,8, но Ant для работы с 1,7, то, похоже, вы установили JRE проекта в 1.8 (см. Второй подход), а затем укажите альтернативную JRE в конфигурации сборки Ant (третий подход включен). Я даже не знаю, что такое записи в доме Ant, я посмотрю, смогу ли я удалить это. – Pace

+0

Это не повлияло на выбор JDK для меня, пришлось изменить настройки в ответе stolsvik. – davr

13

Для меня муравей, по-видимому, отказывается слушать любую конфигурацию для 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. 
0

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

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

Просто, для обеспечения версии JAVA для Ant в Eclipse:

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

0

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

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%;

0

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

Это та часть, которую я всегда забываю. Поскольку вы устанавливаете 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. Эта переменная представляет собой список каталогов, разделенных точкой с запятой, для поиска исполняемых файлов. Чтобы иметь возможность запускать муравьев в любом каталоге, Windows должна знать как расположение муравьиного двоичного файла, так и двоичного кода 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 

Совершено

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

Buildfile: build.xml does not exist! 
Build failed 
+2

-1 Если вы собираетесь сорвать чужую работу, то наименьшее вы можете сделать, если отдать должное там, где это необходимо ... http: //www.nczonline.net/blog/2012/04/12/how-to-install-apache-ant-on-windows/ – Dan

1

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

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

0

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

Adding tools.jar to Ant classpath.

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