Почему сценарий запуска Jenkins не работает под Java 11 (Ubuntu)?

Пытаюсь перейти с Java 8 на 11, но Jenkins не работает ниже 11. В еженедельных экспериментальных сборках говорится, что они будут работать с java 10, поэтому я подумал, что помогу им это проверить.

Поэтому я обновляюсь до jenkins_2.151_all.deb (в моем ящике ubuntu), но теперь я продолжаю получать это сообщение об ошибке:

thomas@testbox:~$ systemctl status jenkins.service
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2018-11-15 14:12:46 UTC; 6s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8127 ExecStart=/etc/init.d/jenkins start (code=exited, status=1/FAILU

Nov 15 14:12:46 testbox jenkins[8127]: Found an incorrect Java version
Nov 15 14:12:46 testbox jenkins[8127]: Java version found:
Nov 15 14:12:46 testbox jenkins[8127]: java version "11" 2018-09-25
Nov 15 14:12:46 testbox jenkins[8127]: Java(TM) SE Runtime Environment 18.9 (bui
Nov 15 14:12:46 testbox jenkins[8127]: Java HotSpot(TM) 64-Bit Server VM 18.9 (b
Nov 15 14:12:46 testbox jenkins[8127]: Aborting
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Control process exited, cod
Nov 15 14:12:46 testbox systemd[1]: Failed to start LSB: Start Jenkins at boot t
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Unit entered failed state.
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Failed with result 'exit-co

Итак, я следую инструкциям здесь: Jenkins терпит неудачу при запуске "service start jenkins" на ответе с наивысшим рейтингом для работы с моей java 11, и я продолжаю получать ту же ошибку.

Так что тогда я думаю, да к черту. Я собираюсь запустить jenkins под своим экземпляром java8. Поэтому я изменяю указанный выше путь, чтобы он работал с / opt / java8, где установлена ​​моя java. Я получил:

thomas@testbox:/opt$ systemctl status -l jenkins.service
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2018-11-15 14:15:50 UTC; 1min 3s
     Docs: man:systemd-sysv-generator(8)
  Process: 8237 ExecStart=/etc/init.d/jenkins start (code=exited, status=1/FAILU

Nov 15 14:15:50 testbox jenkins[8237]: Found an incorrect Java version
Nov 15 14:15:50 testbox jenkins[8237]: Java version found:
Nov 15 14:15:50 testbox jenkins[8237]: java version "1.8.0_101"
Nov 15 14:15:50 testbox jenkins[8237]: Java(TM) SE Runtime Environment (build 1.
Nov 15 14:15:50 testbox jenkins[8237]: Java HotSpot(TM) 64-Bit Server VM (build 
Nov 15 14:15:50 testbox jenkins[8237]: Aborting
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Control process exited, cod
Nov 15 14:15:50 testbox systemd[1]: Failed to start LSB: Start Jenkins at boot t
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Unit entered failed state.
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Failed with result 'exit-co

Так что теперь он жалуется даже на java 8.

Не уверен, что попробовать дальше

Я решил ту же проблему с это решение

Muhammad Tariq 25.12.2020 09:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
1 016
3

Ответы 3

sudo update-alternatives --config java выберите java 8 введите выбор нет например. 2 тогда запустите Дженкинса, если уже

Обновлять

Начиная с версии 2,175 (выпуск на 2019-04-28), в официальном журнале изменений Jenkins указано:

Make Debian/Ubuntu launcher script work with Java 11. (issue 57096)

Поэтому запуск / запуск Jenkins в средах J11 должен быть исправлен с помощью Jenkins версии 2,175 или новее. Вы можете попробовать.

Надеюсь, поможет.

На самом деле это похоже на проблему при тестировании /etc/init.d/jenkins для версии Java.

выполнение команды systemctl status jenkins.service вернуло сообщение, указанное ниже.

Found an incorrect Java version

Java version found:

openjdk version "11.0.9.1" 2020-11-04

В файле /etc/init.d/jenkins последняя строка устанавливала JAVA_VERSION на 11.09, что не соответствует ничему в JAVA_ALLOWED_VERSION.

Чтобы исправить это, обновите эту разрешающую строку sed в файле /etc/init.d/jenkins, изменив ее на:

JAVA_VERSION=$($JAVA -version 2>&1 | sed -n ';s/.* version "\([0-9]*\)\.\([0-9]*\)\..*".*/\1\2/p;')

Ссылка: https://github.com/jenkinsci/packaging/pull/198

Другие вопросы по теме