Можно ли автоматически обновлять JRE_HOME при обновлении Java? - PullRequest
0 голосов
/ 25 апреля 2018

Мне понадобилось немного времени, чтобы понять, почему мой сервер solr не запустится снова.Очевидно, что Java была обновлена, но я этого не осознавал (хотя вполне возможно, что я согласился на диалог и забыл об этом).Даже если бы я понял это, я бы сразу не знал, что мне нужно обновить переменную окружения JRE_HOME, чтобы tomcat мог начать резервное копирование.

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

1 Ответ

0 голосов
/ 25 апреля 2018

Простой ответ - нет. Обновления Java не делают и не могут 1 автоматически обновлять JAVA_HOME.

Обратите внимание, что проблема такого рода также влияет на другие службы на базе Java, работающие в Windows. Google для windows server java update breaks java_home.


Кстати, современные системы Linux используют систему «альтернатив», чтобы элегантно справляться с переключением версий Java. А такие сервисы, как Tomcat, не зависят от одной общесистемной переменной JAVA_HOME. Вместо этого типичная служба имеет файл конфигурации, который включает JAVA_HOME, который будет использоваться для этой службы.

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

  • использовать какую-либо систему управления конфигурацией на рабочем сервере Windows, чтобы избежать неконтролируемых обновлений
  • будьте внимательны при включении / использовании автообновлений.

1 ... потому что не существует «правильного пути», который будет работать для всех применений Java на Windows-боксе.

...