bal*_*ker 6 java jnlp internet-explorer java-web-start
我有一个使用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>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下"修复"/解决方法无济于事:
更新: 我能够通过下面发布的解决方法解决此问题.但是,如果有人有建议,我正在寻找更永久的解决方案.具体来说,我正在寻找一种方法来解决业务/服务器端的问题,如果可能的话.如果用户不需要更改他们的任何设置(其他然后从IE切换到不同的浏览器)将是很好的.
web.xml中的MIME映射:
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
Run Code Online (Sandbox Code Playgroud)
我最终通过更改Internet Explorer中的特定设置来解决此问题.
工具 - > Internet选项 - >安全性 - >自定义级别... - >其他 - >启用MIME嗅探 - > 禁用
我花了一段时间才找到这个修复程序,所以我把它包含在这里,万一其他人也有这个问题.
PS:这是一个解决方法,然后永久修复.任何额外的见解都会有所帮助.
更新:结束将<%@ page contentType ="application/x-java-jnlp-file"%>添加到JNLP文件的开头,然后构建战争.本质上,JNLP会自动启动,但会出现解析错误.一旦这条线从JNLP中取出并重新构建了WAR,JNLP将启动javawebstart并且解析错误消失了(解决了AKA 问题).不知道为什么,但这种魔法似乎有效.
| 归档时间: |
|
| 查看次数: |
34337 次 |
| 最近记录: |