Дженкинс, указав JAVA_HOME - PullRequest
18 голосов
/ 18 ноября 2011

Я установил openjdk-6-jdk на свой ящик с Ubuntu, используя apt-get.

В системной информации Дженкинс говорит мне, что Java. Дом /usr/lib/jvm/java-6-openjdk/jre

Однако, когда я указываю этот каталог как JAVA_HOME в Jenkins: «настроить систему», он возвращает сообщение об ошибке, в котором говорится, что каталог не похож на каталог jdk.

он также не может получить мою установку maven.

Я что-то упускаю из виду?

Ответы [ 13 ]

20 голосов
/ 18 ноября 2011

Ваша переменная JAVA_HOME должна быть установлена ​​в / usr / lib / jvm / java-6-openjdk, и она должна быть доступна для пользователя, запускающего Jenkins.

Из комментария Кайла Стрэнда:

По состоянию на апрель 2015 года (я думаю), Дженкинс требует Java7.Также обратите внимание, что двоичный путь Java (JAVA) должен быть установлен на правильную версию, если системное значение по умолчанию - Java 6. Наконец, для всех, кто интересуется, где установлены эти переменные, он находится в файле конфигурации, указанном с инструкциями по установке на Jenkins.веб-страница (например, для Debian это /etc/default/jenkins).

5 голосов
/ 28 марта 2017

Используя Jenkins 2 (в моем случае 2.3.2), правильный путь, кажется, вставляет в файл конвейера следующее:

env.JAVA_HOME="${tool 'jdk1.8.0_111'}"
env.PATH="${env.JAVA_HOME}/bin:${env.PATH}"

"jdk1.8.0_111", являющийся именем конфигурации javaизначально зарегистрирован в Jenkins

4 голосов
/ 26 июля 2012

В системах CentOS 6.x и Redhat 6.x пакет openjdk-devel содержит jdk.Это достаточно разумно, если вы знакомы с шаблоном -devel, используемым в RedHat, но сбивает с толку, если вы ищете пакет jdk, который соответствует стандартам именования java.

2 голосов
/ 18 ноября 2011

openjdk-6 - это среда выполнения Java, а не JDK (например, комплект разработки, содержащий javac).Установите openjdk-6-jdk.

Maven также требуется JDK.

[EDIT] Когда JDK установлен, используйте /usr/lib/jvm/java-6-openjdk для JAVA_HOME (т.е. безjre часть).

1 голос
/ 24 апреля 2018

Я просто хотел добавить решение для компьютеров Windows.

  • Windows Server 2008 R2 Standard, SP1
  • Jenkins 2.89.4
  • Java версия 8.171

Симптом: служба Jenkins запускается и сразу останавливается.
Jenkins.wrapper.log содержит строку, указывающую неверный путь к Java:

- Запуск C: \ Program Files \Java \ jre1.8.0_141 \ bin \ java -Xrs -Xmx6g -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle -jar "C: \ Program Files (x86) \ Jenkins \ jenkins.war" --httpPort = 8080 --webroot= "C: \ Program Files (x86) \ Jenkins \ war"

Исправление: у Дженкинса путь жестко задан в jenkins.xml.Измените путь к новому местоположению Java.

Вы также можете использовать переменные среды Windows, но мне это не удалось, и я не думаю, что установщик Java обновляет их, поэтому вам все равно придется обновлять их вручную каждый раз.

1 голос
/ 25 ноября 2011

В случае, если у кого-то есть подобные проблемы, я использовал установки sudo apt-get по умолчанию для соответствующих пакетов, и вот правильные настройки:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

и

MAVEN_HOME=/usr/share/maven2
0 голосов
/ 23 июня 2019

Для тех из вас, кто приходит к этой проблеме и имеет доступ к настройке агентов Jenkins, вы можете установить JAVA_HOME в Jenkins> Узлы> «имя агента»> Страница настройки:

Установка переменных среды "на агента"

0 голосов
/ 31 июля 2018

Это старая ветка, но для более поздних версий Jenkins (в моем случае Jenkins 2.135), для которых требуется конкретный java JDK, должно помочь следующее:

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

Изменить /etc/sysconfig/jenkins и установить переменную JENKINS_JAVA_CMD="/<your desired jvm>/bin/java" (требуется root-доступ)

Пример:

JENKINS_JAVA_CMD="/usr/lib/jvm/java-1.8.0-openjdk/bin/java"

Перезапустите Jenkins (если jenkins запускается как служба sudo service jenkins stop, то sudo service jenkins start)

Выше было исправлено, что моя установка Jenkins не запускалась после обновления до Java 10 и Jenkins до 2.135

0 голосов
/ 22 августа 2017

Загрузите пакет rpm из http://pkg.jenkins -ci.org / redhat / . Вы можете указать дополнительное расположение Java, как если бы у меня в системе было по умолчанию 1,7 Java, но я использую /opt/jdk1.8.0_60 / bin / Java для Дженкинса. Откройте сценарий запуска jenkins /etc/init.d/jenkins и добавьте сюда дополнительную java, в моем случае я добавил /opt/jdk1.8.0_60/bin/java,

Поиск пригодной для использования Java, поскольку / usr / bin / java может не указывать на минимальную версию, требуемую Jenkins.

См. http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html

кандидаты =» /opt/jdk1.8.0_60/bin/java

0 голосов
/ 03 июня 2014

В Ubuntu 12.04 мне пришлось установить openjdk-7-jdk

, тогда javac работал!

тогда я мог бы использовать

/usr/lib/jvm/java-7-openjdk-amd64

в качестве пути, и Дженкинс больше не жаловался.
...