Java JNLP文件在浏览器上以xml文件的形式打开

Java JNLP文件在浏览器上以xml文件的形式打开,java,jnlp,java-web-start,Java,Jnlp,Java Web Start,通过javaws测试jnlp文件,它运行良好。但是使用浏览器,它只会将JNLP文件作为xml文件打开,而在输入代码库中的url和.JNLP文件的href时,它不会执行任何操作 当输入所需的url时,如何下载jar并通过浏览器运行它?可能Apache为.jnlp文件提供了错误的内容类型,因此浏览器无法将其识别为Java Web Start。您需要在/etc/httpd/conf/httpd.conf中添加一些配置: AddType application/x-java-jnlp-file .jnl

通过javaws测试jnlp文件,它运行良好。但是使用浏览器,它只会将JNLP文件作为xml文件打开,而在输入代码库中的url和.JNLP文件的href时,它不会执行任何操作


当输入所需的url时,如何下载jar并通过浏览器运行它?

可能Apache为
.jnlp
文件提供了错误的
内容类型
,因此浏览器无法将其识别为Java Web Start。您需要在
/etc/httpd/conf/httpd.conf
中添加一些配置:

AddType application/x-java-jnlp-file .jnlp
AddType application/x-java-archive-diff .jardiff
(找到现有的
AddType
指令并在那里添加这些行),然后重新启动httpd以使其重新读取配置


(这指的是
.htaccess
,但如果您有权编辑主配置文件,那么这将提供更好的性能)

我支持前面的回答:是的,确保您的服务器发送了正确的MIME类型。更新配置后,使用wget等工具测试发送的标题是否正确:

wget --save-headers http://..../x.jnlp -O -
并查找带有“内容类型”的标题


否则,在应用程序下的Firefox首选项中,找到“JNLP文件”并选择
javaws
可执行文件,以便它将使用该文件“打开”JNLP文件。Java WebStart可执行文件在Windows上被称为
javaws.exe

可能是您的web服务器使用错误的内容类型头提供文件。为了能够告诉您如何修复,我们需要知道您使用的是什么web服务器软件。我在CentOS环境中使用的是HTTPD Apache web服务器。谢谢您Ian Roberts,现在浏览器上的.jnlp文件带有一个问号图标,但单击它仍会将其作为xml文件打开。
HTTP request sent, awaiting response... 200 OK
Length: 1155 (1.1K) [application/x-java-jnlp-file]
Saving to: `STDOUT'
HTTP/1.1 200 OK
Date: Mon, 30 Jun 2014 09:38:05 GMT
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"1155-1402308032000"
Last-Modified: Mon, 09 Jun 2014 10:00:32 GMT
Content-Type: application/x-java-jnlp-file
Content-Length: 1155
Keep-Alive: timeout=1200, max=100
Connection: Keep-Alive