web-dev-qa-db-ja.com

JNLP拡張がInternet Explorerで開かない

Internet Explorerを使用して* .jnlp拡張子を開くときに問題が発生します。拡張機能はChromeおよびFirefoxで適切に開きます。IEおよびの問題である可能性がありますWebサーバー/ JNLP構成。具体的には、Internet Explorerは* .jnlpファイルを、ファイルをダウンロードしたり、Java web開始。

例:

<?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の詳細設定をリセットする
  • Webサーバーのweb.xmlファイルのMIME拡張設定を変更する
  • IE設定を変更して、常にファイルのダウンロードを許可する

更新:以下に投稿した回避策でこの問題を解決できました。ただし、提案がある場合は、より永続的な修正を探しています。具体的には、可能であればビジネス/サーバー側でこれを修正する方法を探しています。ユーザーが自分の側で設定を変更する必要がない場合は、すばらしいでしょう(それ以外の場合は、IEから別のブラウザーに切り替えます)。

web.xmlのMIMEマッピング:

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

Internet Explorer内の特定の設定を変更することで、この問題を解決することになりました。

ツール->インターネットオプション->セキュリティ->カスタムレベル...->その他-> MIMEスニッフィングを有効にする-> 無効

この修正を見つけるのにしばらく時間がかかったので、他の誰かがこの問題を抱えている場合に備えて、ここに含めます。

PS:これは、恒久的な修正よりも回避策の詳細です。追加の洞察があれば役立ちます。

pdate<%@ page contentType = "application/x-Java-jnlp-file"%>を追加することになりましたJNLPファイルの始まり、そして戦争の構築。基本的に、JNLPは自動的に起動しますが、解析エラーが発生します。この行がJNLPから削除され、WARが再構築されると、JNLPはjavawebstartを起動し、解析エラーがなくなりました(AKA問題が解決されました)。理由は本当にわかりませんが、これはmagicが機能しているようです。

9
ballBreaker

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上)。私はこれを試しませんでしたが、うまくいくと思います。

0
Zakaria

JWSアプリケーションをすべての署名済みライブラリーとともにEAR/WARの外に保管します。

JWSアプリケーションがApache Webサーバーでホストされている場合、httpd.confで、次のようにタイプを追加できます。

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

ここで参照: http://httpd.Apache.org/docs/current/mod/mod_mime.html