Jenkins в Windows возвращает неподдерживаемую ошибку JVM при обновлении Java до OpenJDK 11

Я тестировал обновление Oracle Java 8 до Red Hat OpenJDK Java 11 на сервере Windows Jenkins, но, похоже, наткнулся на стену. В моем экземпляре Jenkins указано, что Java 11 не поддерживается, и после обновления файлов JENKINS_HOME JRE возвращается следующая ошибка:

«Мы обнаружили, что ваша JVM не поддерживается Jenkins. Это связано с одним из ограничений. библиотеки, которые использует Jenkins, а именно XStream. Дополнительные сведения см. в FAQ. "

Действия, которые я предпринял:

1. Остановлен и отключен сервис Jenkins

2. Удален Oracle Java 8 191 с панели управления и удалены оставшиеся программные файлы в Java \ jdk1 .8.0_191

3. Установлен Red Hat OpenJDK 11.0.4 msi на Java \ jdk11.0.4

4. Обновлены переменные JAVA_HOME и PATH, чтобы они указывали на новые местоположения Java

5. Создал JRE 11 из файлов JDK 11, используя все модули JDK. В частности, я использовал этот сайт для помощи в создании JRE. Файлы JRE размещены на сервере в стандартном месте, Java \ jre11.0.4

5. Установите службу Jenkins в автоматический режим и запустите ее. Подтвержденный сайт Jenkins работал правильно, затем остановился и снова отключил службу

6. После резервного копирования JENKINS_HOME заменил там папку JRE папкой jre11.0.4, которую я создал из файлов JDK 11.

7. Запущен сервис Jenkins. После перехода на сайт Jenkins я получил сообщение об ошибке о том, что JVM не поддерживается.

8. Остановил / отключил службу Jenkins, затем обновил Jenkins.war до еженедельного выпуска Jenkins 2.194. (Раньше я запускал Jenkins LTS 2.176.3.) Запустил службу Jenkins, но получил ту же ошибку.

Я не уверен, что делать дальше, «Обновление версии Java Jenkins с 8 to 11 " Документация Дженкинса здесь не очень помогает. Последний шаг в разделе «Обновление Jenkins» гласит: «Используйте диспетчер пакетов для установки новой JVM» и «Убедитесь, что JVM по умолчанию - это недавно установленная версия. Если это не так, используйте правильную команду java в сценариях запуска Jenkins. ". Эти инструкции, похоже, относятся к экземплярам Jenkins, работающим в ОС Linux. Если они подходят для всех типов ОС, я не знаю, как им следовать в среде Windows.

Я также просмотрел документацию Jenkins для Запуск Jenkins на Java 11, но и там не нашел никакой полезной информации.

И, наконец, гиперссылка на часто задаваемые вопросы в сообщении об ошибке не работает, и единственная информация, предоставленная этим одноименным сайтом XStream, - это примечание о том, что XStream требует Java 8 , что находится в прямом противоречии с документацией Jenkins по Java, в которой говорится, что Jenkins поддерживает Java 8 и 11.

Мы будем очень признательны за любые предложения по запуску любой версии Jenkins с OpenJDK 11 или дальнейшие шаги.

Программное обеспечение и версии:
- Windows Server 2016
- Jenkins LTS 2.176.3
- Еженедельный выпуск Jenkins 2.194
- Oracle Java JDK и JRE 1.8.0.191
- Red Hat OpenJDK 1.11.0.4 и JRE создается из всех модулей в файлах JDK


person Hkfrank    schedule 13.09.2019    source источник


Ответы (1)


Похоже, я пропустил следующие инструкции в файле Jenkins.xml:

Если вы хотите запустить Jenkins с определенной версией Java, укажите полный путь к java.exe.

Другой член моей команды увидел это и добавил среду JAVA11_HOME в файл Jenkins.xml:

<env name="JAVA11_HOME" value="D:\Java\jdk11.0.4"/>

А затем обновил путь к исполняемому файлу в Jenkins.xml:
По умолчанию:

<executable>%BASE%\jre\bin\java</executable>

To:

<executable>%JAVA11_HOME%\bin\java</executable>

Наконец-то Jenkins запущен и работает на Java 11!

person Hkfrank    schedule 18.09.2019