В нашей компании мы используем объекты групповой политики для отправки обновлений программного обеспечения, таких как обновления Java. У нас около 150 пользователей в разных офисах, расположенных в разных странах, все используют Windows 7. У нас есть несколько офисных приложений, и ни у одного пользователя нет прав администратора.
В последнее время в некоторых из наших офисов были случаи, когда пользователям требовались разные версии Java; одному приложению, которое они используют, потребуется версия A Java, тогда как другому приложению потребуется версия B. Наихудший сценарий - это когда одному и тому же пользователю требуются разные версии Java, в зависимости от используемого приложения (веб-приложение или автономное приложение).
У нас была эта проблема для пары пользователей в двух офисах в этом месяце и в прошлом месяце. До сих пор при необходимости мы устанавливали подходящую версию Java. Очевидно, это заняло много времени. В следующем месяце мы рассматриваем возможность создания конкретных виртуальных машин или компьютеров для более старых версий Java. Но и это не лучшее решение. Какие еще могут быть решения?
Как компании справляются с необходимостью предъявлять разные (и несовместимые) требования Java к одному и тому же пользователю?
Согласитесь с комментариями, что Java может работать как отдельный исполняемый файл. У вас может быть столько версий, сколько хотите на одной машине.
У вас могут возникнуть проблемы, если несколько приложений используют JAVA_HOME
переменная окружения, и для каждой из них требуется своя версия. Как отмечено в комментариях, этого легко избежать, используя сценарии оболочки для запуска каждого приложения, заботясь о том, чтобы установить PATH
и JAVA_HOME
правильно.
(Лично ставить не буду JAVA_HOME
в моей системной среде; Я буду определять его в каждом сценарии оболочки, запускающей приложение; поскольку ни одна программа не может использовать системные настройки по умолчанию, это позволяет избежать случайного использования неправильной версии любой программой. Это личное предпочтение - подходит не для всех сред.)
Веб-приложения гораздо интереснее, поскольку для веб-приложений обычно требуется установленная в системе JRE. это очень трагично, но в настоящее время вы не можете запускать разные веб-приложения / апплеты с разными системными JRE одновременно.
Java ожидает, что вы будете использовать последнюю версию. Если вам нужна конкретная версия, у вас должна быть только эта конкретная версия, выбранная в Java Runtime Environment Settings
:
Control Panel
|Java
|Java
вкладка |View
кнопка
Выберите нужную вам JRE. Вы должны отменить выбор всех остальных.
Чтобы переключить версии позже, вы должны вернуться в панель управления и сделать это снова.
Это очень недружелюбно по отношению к клиентам которым приходится запускать несколько веб-приложений, требующих разных версий. Эти приложения нельзя запускать на одном компьютере одновременно.
Дополнительную информацию можно получить из этого вопроса: