2015-05-12 2 views
6

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

Пример:

<?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> 

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

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

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

MIME-Mapping в web.xml:

<mime-mapping> 
    <extension>jnlp</extension> 
    <mime-type>application/x-java-jnlp-file</mime-type> 
</mime-mapping> 
+0

*: Измените настройки расширения MIME в файле web.xml веб-сервера «* Это все, что должно быть необходимо. К чему вы его установили? BTW - 1) Обязательно проверьте JNLP с помощью JaNeLA, доступный на моем [share drive] (https://drive.google.com/drive/#folders/0B5B9wDXIGw9lUnJaUjA2cmlVRE0). 2) Какие браузеры запускают JNLP успешно? –

+0

Chrome и Firefox запускают JNLP без проблем. Explorer, который имеет проблему.Я добавил код, используемый для MIME-сопоставления в вопросе как редактирование. – ballBreaker

+0

И .. у JaNeLA есть что сообщить о типе MIME/content? –

ответ

8

Я в конечном итоге устранить эту проблему путем изменения определенного параметра в пределах Internet Explorer.

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

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

PS: Это более обходное решение, чем постоянное исправление. Любое дополнительное понимание было бы полезно.

Update: Законченное добавление <% @ страница CONTENTTYPE = "применение/х-Java-JNLP-файл" %> к началу файла JNLP, а затем строить войну. По сути, JNLP автоматически запускается, но дает ошибку синтаксического анализа. После того, как эта линия была выведена из JNLP, и WAR был перестроен, JNLP запустил javawebstart, и ошибка синтаксического анализа исчезла (AKA Проблема решена). Не знаю, почему, но это magic, похоже, сработало.

+2

Я забыл добавить, что если у кого-то еще есть какие-то идеи, я был бы им признателен. – ballBreaker

0

Я хранил приложение 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

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

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

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

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

Смежные вопросы