it-roy-ru.com

Расширение JNLP не открывается в Internet Explorer

У меня проблема с открытием расширений * .jnlp с помощью Internet Explorer. Расширение правильно открывается в Chrome и Firefox, что позволяет предположить, что это проблема с IE и возможно конфигурацией веб-сервера/JNLP. В частности, Internet Explorer открывает файл * .jnlp в виде сценария * .xml вместо его загрузки или открытия с помощью веб-запуска Java. 

Пример:

<?xml version="1.0" encoding="utf-8" ?>
- <!--
 JNLP File for Downtime Registration Application
  -->
- <jnlp spec="1.7+" codebase="http://foo:8080/bar" href="bar.jnlp">
- <information>
  <title>FOO</title>
  <vendor>FOO Inc.</vendor>
  <description>FOO BAR System</description>
- <shortcut online="false">
  <desktop />
  <menu submenu="FOO" />
  </shortcut>
  </information>
- <security>
  <all-permissions />
  </security>
- <resources>
  <j2se version="1.7+" Java-vm-args="-client" />

  ... 

  </resources>
  <application-desc main-class="FooBarMainApp" />
  </jnlp>

Я пробовал следующие "Исправления"/обходные пути безрезультатно:

  • Запустите IE от имени администратора
  • Добавление URL в представление совместимости
  • Изменение настроек Java на «Всегда разрешать JNLP/MIME»
  • Сбросить дополнительные настройки Internet Explorer
  • Измените настройки расширения MIME в файле web.xml веб-сервера.
  • Измените настройку IE, чтобы всегда разрешать загрузку файлов

Обновление: Мне удалось устранить эту проблему с помощью обходного пути, который я разместил ниже. Тем не менее, я ищу более постоянное решение, если у кого-то есть предложения. В частности, я ищу способ исправить это на стороне бизнеса/сервера, если это вообще возможно. Было бы хорошо, если бы пользователям не нужно было менять какие-либо настройки на своей стороне (кроме переключения с IE на другой браузер).

MIME-отображение в web.xml:  

  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-Java-jnlp-file</mime-type>
</mime-mapping>
6
ballBreaker

Я решил эту проблему, изменив определенный параметр в Internet Explorer. 

Сервис -> Свойства обозревателя -> Безопасность -> Пользовательский уровень ... -> Разное -> Включить прослушивание MIME-> Отключить

Мне потребовалось некоторое время, чтобы найти это исправление, поэтому я включу его сюда на случай, если у кого-то еще возникнет эта проблема. 

PS: это скорее обходной путь, чем постоянное исправление. Любое дополнительное понимание будет полезно.

Обновление : Закончилось добавление <% @ page contentType = "application/x-Java-jnlp-file"%> в начало файла JNLP и затем построение войны. По сути, JNLP запускается автоматически, но выдает ошибку разбора. Как только эта строка была удалена из JNLP и WAR был перестроен, JNLP запустил javawebstart и ошибка синтаксического анализа исчезла (AKA Problem Solved). Не знаю почему, но этоmagic, похоже, сработало. 

9
ballBreaker

Проблема с JNLP может быть исправлена ​​с помощью следующих шагов:

  1. Откройте Mozilla Firefox, а затем загрузите расширение JNLP Mozilla Когда меня спросили, как открыть его, я выбрал «Открыть с помощью javaws» (на C:\Program Files\Java\jre1.8.0_161\lib).
  2. Выберите применить этот выбор с этого момента.

Я пытался открыть его в Internet Explorer, и он работал автоматически.

Или из загруженного файла щелкните правой кнопкой мыши на файле расширения JNLP, открытом с помощью javaws (на C:\Program Files\Java\jre1.8.0_161\lib). Я не пробовал это, но я думаю, что это должно работать.

0
Zakaria

Я храню свое приложение JWS вне EAR/WAR вместе со всеми подписанными библиотеками.

Если приложение JWS размещено на веб-сервере Apache, в httpd.conf вы можете добавить тип следующим образом:

AddType application/x-Java-jnlp-file .jnlp

Ссылка здесь: http://httpd.Apache.org/docs/current/mod/mod_mime.html

0
Jose Manuel Gomez Alvarez