Война версий JRE

В нашей компании есть несколько приложений, работающих через Java-апплеты от различных сторонних поставщиков. Наша проблема заключается в следующем: app1 может работать только на JRE 1.6.05, тогда как app2 требуется 1.6.16. Есть ли способ, которым мы можем указать, какой апплет получает какую JRE вместо того, чтобы выбирать только одну JRE для всех апплетов (и, следовательно, для всех пользователей)? Я не верю, что мы должны назначить одну JRE для всех пользователей, поскольку любой из этих поставщиков, потому что даже если мы найдем решение, в какой-то момент один из поставщиков выпустит новое исправление, которое перезапустит весь этот цикл снова.

3 ответа

Такая несовместимость зависимостей - одна из вещей, которую виртуализация приложений отлично подходит для сортировки.

Используя виртуализацию приложений, вы можете упаковать каждое сложное приложение вместе с его конкретной версией JVM в один виртуальный "пузырь" на машине, где он даже не увидит, что есть другие виртуализированные приложения с их собственными версиями JVM, установленными в их собственных стенах. пузырьки

Виртуализация приложений обеспечивается такими системами, как Microsoft App-V (ранее Softgrid), Symantec/Altiris Software Virtualization Solution (SVS), Citrix XenApp или VMWare ThinApp.

До 6u10 подключаемая JVM работала внутри браузера. Вы можете иметь только один экземпляр JVM на процесс, поэтому апплеты, использующие разные версии, не собирались летать. Начиная с 6u10, апплеты запускаются в другом процессе. С несколькими внешними процессами возможен выбор версии для апплетов. Информация где-то на сайтах Sun...

У вас также есть дополнительная проблема широко используемых уязвимостей безопасности, которые повышают риск продолжения работы устаревших Java-апплетов.

Решение состоит в том, чтобы прекратить использование клиентской Java, запретить доступ в Интернет пользователям с правами администратора или развернуть какое-либо устройство безопасности / прокси-сервер.

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