首页 文章

JNLP扩展无法在Internet Explorer中打开

提问于
浏览
6

我有一个使用Internet Explorer打开* .jnlp扩展的问题 . 该扩展程序在Chrome和Firefox中正常打开,让我相信它是IE的问题,可能还有Web服务器/ JNLP配置 . 具体来说,Internet Explorer将* .jnlp文件作为* .xml脚本打开,而不是下载文件或使用java web start打开它 .

Example:

<?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设置更改为"Always allow JNLP/MIME"

  • 重置Internet Explorer高级设置

  • 更改Web服务器的web.xml文件中的MIME扩展设置

  • 将IE设置更改为始终允许文件下载

Update: 我能够通过下面发布的解决方法解决此问题 . 但是,如果有人有建议,我正在寻找更永久的解决方案 . 具体来说,我正在寻找一种方法来解决这个问题在业务/服务器端,如果可能的话 . 如果用户不需要改变他们的任何设置(其他然后从IE切换到不同的浏览器)将是很好的 .

MIME-Mapping in web.xml:

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

3 回答

  • 0

    我最终通过更改Internet Explorer中的特定设置来解决此问题 .

    工具 - > Internet选项 - >安全 - >自定义级别... - >其他 - >启用MIME嗅探 - > Disable

    我花了一段时间才找到这个修复,所以我把它包括在这里以防其他人也有这个问题 .

    PS:这是一个解决方法,然后永久修复 . 任何其他见解都会有所帮助 .

    Update :结束将<%@ page contentType = "application/x-java-jnlp-file"%>添加到JNLP文件的开头,然后构建战争 . 本质上,JNLP会自动启动,但会出现解析错误 . 一旦这条线从JNLP中取出并重新构建了WAR,JNLP将启动javawebstart并且解析错误消失了(解决了AKA问题) . 不知道为什么,但这似乎有效 .

  • 0

    我将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

  • 9

    可以通过以下步骤修复JNLP问题:

    • 打开Mozilla Firefox,然后下载JNLP扩展 . Mozilla问我如何打开它,我选择使用javaws打开(在 C:\Program Files\Java\jre1.8.0_161\lib 上) .

    • 从现在开始选择应用此选项 .

    我试图在Internet Explorer上打开它,它自动运行 .

    或者从Dowloaded文件中单击右边的JNLP扩展文件,使用javaws打开(在 C:\Program Files\Java\jre1.8.0_161\lib 上) . 我没试过这个,但我认为它应该有效 .

相关问题