У меня есть сторонний апплет, для которого JRE v1.5_12 работает правильно. Пользователь устанавливает JRE v1.6.07 или лучше. Раньше это было с 1,5 и ниже, что я мог бы иметь несколько JRE на машине и указать, какой из них использовать, но с 1.6, которые должны быть сломаны. Как сообщить браузеру, что я хочу использовать v1.5_12 вместо последнего установленного?
Как указать конкретную JRE для апплета браузера?
Ответ 1
Из соображений безопасности вы больше не можете принуждать его использовать старые JRE. У релиза 12 есть огромная дыра в безопасности, и каждый устанавливает версию 13 для ее исправления. Evil java-апплеты могли просто сказать "бежать с релизом 12, пожалуйста", а затем выполнить свои эксплойты, сделав патчи бесполезными.
Скорее всего, у вас есть код с дырами в области безопасности, который блокирует новый JRE, поскольку это может привести к угрозе безопасности. Исправьте свой код, должны быть довольно незначительные изменения, тогда вам не придется беспокоиться.
Для получения дополнительной информации об изменении см. эту страницу.
Ответ 2
Новый механизм апплета (который будет поставляться с 1.6u10, когда Sun приближается к официальной отправке) дает вам огромное количество контроля в этой области. Это займет некоторое время, чтобы получить достаточное количество систем на 6u10, где вы можете фактически полагаться на функциональность (если только вы не являетесь корпоративным), - но она приближается (кажется, около 5 лет слишком поздно).
Здесь статья JavaWorld, описывающая это на очень высоком уровне: текст статьи
6u10 также имеет набор инструментов для развертывания, который обеспечивает супер простые в использовании фрагменты javascript, которые вы можете включить в свои страницы развертывания апплетов. Эти фрагменты обрабатывают проверку версии JRE, уведомление пользователя, загрузку JRE по требованию и ряд других вещей, которые в противном случае представляют собой проблему (не невозможно, просто боль). Набор для развертывания был разработан для отказа от изящества, поэтому он делает удивительные вещи, если установлено 6u10 или выше, и возвращается к достойному поведению для более старых JRE.
Одна действительно, очень хорошая вещь о новом модуле апплетов заключается в том, что он запускается в отдельном пространстве процесса из браузера. Это имеет несколько очень больших преимуществ, в том числе возможность иметь несколько апплетов, работающих в разных версиях JRE (да, вы можете указать различные требуемые JRE, включая ограничения на сколько лет и насколько новый JRE вы поддерживаете - механизм апплета будет повторно использовать JRE, если это возможно, но у него есть возможность запускать другое, если это необходимо).