Yum зависимости и метаданные для java-headless

Я пытаюсь установить Java 8 и Tomcat 9 на сервер RockyLinux 9.

Для установки tomcat (из EPEL) требуется, что разрешеноjava-11-openjdk-headless. Таким образом, Java11 устанавливается как зависимость... хотя я уже установил, и она должна «логически» предоставитьjava-headless >= 1:1.8.0.

      $ yum deplist tomcat
Last metadata expiration check: 1:37:02 ago on Tue 28 Mar 2023 04:13:15 PM CEST.
package: tomcat-1:9.0.65-2.el9.noarch
[...]
  dependency: java-headless >= 1:1.8.0
   provider: java-11-openjdk-headless-1:11.0.18.0.10-2.el9_1.x86_64
[...]

Я думаю, не хватаетProvides: java-headlessметаданные. Это не вyum whatprovides java-headlessвыход. Но я не уверен, как проверить полные метаданные файла .

Есть ли способ:

  • заставить yum игнорироватьjava-headlessзависимость?
  • отметкаjava-1.8.0-openjdk-headlessкак обеспечить эту зависимость?

или любой другой вариант, который позволил бы мне избежать:

  1. бесполезная установка Java11
  2. принудительное прохождение версии Javaalternativesили через конфигурацию Tomcat?

РЕДАКТИРОВАТЬ: Java 8 и 11 устанавливаются без конфликтов. Я просто хотел бы избежать установки Java11. Tomcat 9 совместим с Java 8 и работает нормально после выбора Java 8 изupdate-alternatives.

1 ответ

У вас возник конфликт зависимости версий при установке Tomcat 9 на сервер RockyLinux 9.

Лучший способ исправить это — установить Java 8 отдельно, но, поскольку она у вас уже есть, вы можете установитьJava 8 Development Kit(JDK) отдельно, затем установите переменную среды, чтобы она указывала на каталог установки Java 8.

Итак, сначала скачайтеJava 8 JDKс сайта Oracle или через репозиторий OpenJDK, затем установитеJAVA_HOMEпеременная среды в/etc/profileфайле или в сценарии запуска Tomcat (/usr/share/tomcat/bin/catalina.sh)должен бытьexport JAVA_HOME=/path/to/java8

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