Проверить JRE, если установлен на разных ОС? - PullRequest
1 голос
/ 18 декабря 2011

Я пытаюсь развернуть JNLP для разных пользователей с моего сайта. Пользователь вводит свое имя пользователя, и я генерирую JNLP с конкретными jar-файлами для этого пользователя и даю ему файл jnlp с правильной конфигурацией.

Проблема, если у пользователя на компьютере не установлена ​​JRE (Windows / Mac / Ubuntu), он не сможет запустить jnlp.

Мои главные 2 вопроса:

  1. Как узнать, установлена ​​ли JRE на определенном компьютере (мне все равно, существует ли плагин Java или нет в браузере, который использует пользователь) все, что мне нужно для запуска JRE в системе JNLP (на всех ОС)?

  2. Как установить (если я знал, что на машине нет jre) любого JRE и предпочел быть v.1.6. * С моего сайта (или перенаправить на сайт java.com, чтобы потом вернуться к моя страница)?

Чтобы принять во внимание, я уже взглянул на следующее:

Я посмотрел файл deployJava.js и интегрировал его с моим веб-сайтом. Но он не работает нормально на всех браузерах / ОС.

Если бы я использовал versionCheck ("1.5+") и isWebStartInstalled (), чтобы обнаружить, что у пользователя установлен jre на его компьютере, но, к сожалению, он не смог обнаружить его на FF (на ОС ubunto) для Windows XP FF, IE и Chrome работали нормально !!!

* Итак, мне нужно знать, установлен ли у пользователя JRE на его компьютере или нет.
Напоминание: мне все равно, есть ли в браузере плагин Java или нет!

в Windows XP, если я вызову installJRE ("1.6.0_29") в JS, он будет вести себя следующим образом: Chrome перенаправит меня на java и скажет установить 1.6.0_30! (Это нормально для меня). FF и IE никуда меня не перенаправят и ничего не происходит. (Кажется, что скрипт пытается использовать установленный плагин в браузере, чтобы обновить его, но в то же время jre in удален с машины, но кое-как IE и FF до сих пор вижу, что есть Java-PLUGIN!)

если я использовал installLatestJRE (), он будет работать в IE, но он перенаправит меня на установку JRE v.1.7.0_2, которая, как я думаю, все еще не стабильна. и у него проблемы с моим приложением. (Мое приложение отлично работает на JRE v.1.6. *, Но есть проблемы на v.1.7. *), И это не проблема, потому что если у пользователя есть JRE, у меня уже есть в jnlp требуемый jre, который я использую:

    <java version="1.6.*" href="http://java.sun.com/products/autodl/j2se" />

и это установит для меня последнюю версию 1.6. * JRE, если она не существует. на Chrome он работает нормально и перенаправляет меня для установки v.1.6.0.30. на FF это не сработает.
(FF версия всего 8)
Я пробовал это на 3 разных машинах, и я проверял код много раз, но, к сожалению, он не работал стабильно на этих разных машинах и в браузерах.

Кстати, никто из протестированных браузеров не перенаправил меня обратно на мой сайт (даже если они есть в строке запроса returnPage = www.mywebsite.com). Я уже читал это в java-документах, но они сказали, что это будет работать несколько раз, но не на все браузеры!

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

P.S .: Я прочитал здесь один вопрос, на который некоторые из них ответили, просто дайте ссылку на ваш JNLP и заметку ниже, что нам важно, чтобы на вашем компьютере была установлена ​​java со ссылкой на java sun. Но мне не понравилось это решение, я предпочитаю решать, когда перенаправлять пользователя на java или нет, потому что пользователи новички.

1 Ответ

1 голос
/ 19 декабря 2011

Короткая версия: Вы не можете.

Более длинная версия: вы ищете запуск с Java WebStart и явно упоминаете, что вас не интересует плагин для браузера. Это означает, что вы не можете выполнять проверку внутри браузера, поскольку Java WebStart, который пользователь хочет использовать на компьютере, может быть совершенно не связан с чем-либо внутри браузера.

Единственный доступный вам вариант - пойти так, как пользователь будет в противном случае вызывать JNLP-скрипт. Другими словами, предоставьте тестовый файл JNLP и разрешите пользователю запускать его. Поместите инструкции вокруг ссылки «НАЖМИТЕ ЗДЕСЬ», объясняющей, почему что-то может не работать, и ссылку на http://java.com/en/download/installed.jsp, чтобы позволить Oracle помочь им.

...