繁体   English   中英

JNLP扩展无法在Internet Explorer中打开

[英]JNLP Extension does not open in Internet Explorer

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

例:

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

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

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

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

PS:这是一个解决方法,然后永久修复。 任何额外的见解都会有所帮助。

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

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

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

  1. 打开Mozilla Firefox,然后下载JNLP扩展。 Mozilla问我如何打开它,我选择使用javaws打开(在C:\\Program Files\\Java\\jre1.8.0_161\\lib )。
  2. 从现在开始选择应用此选项。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM