安全异常:打开JNLP文件时出现MalformedURLException:未知协议:socket

10
操作系统:Windows 7 32位 Java开发工具包(JDK): jdk1.7.0_25
我有一个Studio.jnlp文件。我尝试双击打开它,但是我遇到了下面的错误:
"MalformedURLException: unknown protocol: socket" 详细信息:java.net.MalformedURLException: unknown protocol: socket
异常摘要如下所示:Summary of Exception 异常详细信息如下所示:Details of Exception

2
什么是(可能是格式不正确的)URL?请发布代码、错误信息和堆栈跟踪,而不是图片。 - trashgod
1
在我的情况下,我只需要在我的主要浏览器Firefox上禁用代理即可! - Adriano P
1
对于Linux用户来说,这是一个jcontrol程序:https://www.symantec.com/connect/articles/javanetmalformedurlexception-unknown-protocol-socket-console-sep-121 - 42n4
4个回答

26

前往Windows控制面板,然后执行以下步骤:

点击Java - > 在常规选项卡下点击“网络设置”按钮 - > 选择直接连接单选按钮 - > 点击确定

就这样。异常错误将被清除。


1
问题是在Linux上默认使用哪个“浏览器设置”? - keiki
不错的观点,keiki。我在这里运行Linux。我在Firefox中设置了代理,但是从Chrome启动JNLP应用程序,这个错误对我来说是个谜。 - oᴉɹǝɥɔ
也适用于Linux操作系统。 - ArafatK
我们在 Mac 上怎么做这个? - onexf
如果您使用Linux,请运行命令“ControlPanel”,然后转到“常规”>“网络设置..”>“直接连接”。 - privatejava

2
这条消息来自于使用未完全设置的代理服务器(在Internet选项中)。当代理服务器手动设置,但是选项“对所有协议使用此服务器”时,Internet Explorer不会填写“Socks”协议字段。直接连接可以工作,因为您可以绕过在IE中设置的代理配置。但是另一种解决方法是取消选中“对所有协议使用此服务器”,并将其粘贴到socks字段中。这应该可以解决问题,而无需绕过所有Java程序的代理。但是,这假设您的代理服务器知道如何处理此协议,并将其指向正确的位置。如果不知道,那么最好尝试直接连接。

1

运行命令javaws --viewer打开Java控制面板,点击按钮网络设置,选择直接连接

现在再次运行您的jnlp文件:
javaws Studio.jnlp


1
在Linux中,当桌面系统设置中配置了代理设置时,可能会出现此错误。例如,在KDE / Plasma中的“systemsettings”。

jdk附带一个名为ControlPanel的配置GUI。从桌面内的终端运行此程序,选择“网络设置”,并根据您的情况填写表单。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接