我有一个使用Internet打开*.jnlp扩展的问题。这个扩展在Chrome和Firefox中打开,让我相信这是IE的一个问题,也可能是web服务器/JNLP配置的问题。具体来说,internet将*.jnlp文件作为*.xml脚本打开,而不是下载该文件或使用java打开该文件。
示例:
<?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>
我尝试了以下“修复”/workarounds,但没有结果:
更新:我能够用我在下面发布的解决方法修复这个问题。然而,我正在寻找一个更永久的解决办法,如果有人有建议。具体来说,如果可能的话,我正在寻找一种在业务/服务器端修复这个问题的方法。如果用户不需要改变自己的任何设置(然后从IE切换到不同的浏览器),那就太好了。
MIME- web.xml:中的映射
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
发布于 2015-05-12 16:07:47
通过更改中的特定设置,我最终解决了这个问题。
工具->互联网选项->安全->自定义级别..。->杂项->启用MIME嗅探->禁用
我花了一段时间才找到这个补丁,所以我把它也包括在这里,以防其他人也有这个问题。
PS:这是一个更多的解决办法,然后是一个永久的解决办法。任何其他的洞察力都会有帮助。
Update:最后将<%@ page contentType=“application/x %>”添加到JNLP文件的开头,然后构建war。基本上,JNLP会自动启动,但会产生一个解析错误。当这一行从JNLP中删除并重新构建WAR之后,JNLP将启动javawebstart,解析错误就消失了(AKA问题解决了)。我真的不知道为什么,但是这个魔术似乎起作用了。
发布于 2016-09-16 17:36:11
我将JWS应用程序与所有签名库一起存储在EAR/WAR之外。
如果JWS应用程序托管在Apache服务器中,则可以在httpd.conf中按如下方式添加类型:
AddType application/x-java-jnlp-file .jnlp
参考资料:mime.html
发布于 2018-02-18 09:01:34
JNLP问题可以通过以下步骤加以解决:
C:\Program Files\Java\jre1.8.0_161\lib
上)。我试着在Internet上打开它,它自动工作。
或者从下载的文件中单击JNLP扩展文件上的右键,用javaws打开(在C:\Program Files\Java\jre1.8.0_161\lib
上)。我没有试过这个,但我认为它应该有效。
https://stackoverflow.com/questions/30196177
复制相似问题