必须安装JRE 8u202或更早版本并手动配置火狐与系统级JNLP关联,同时在Java控制面板添加站点白名单、启用about:config中jnlp协议暴露,才能使旧版Java Web Start在火狐中正常启动。

你需要在火狐浏览器中运行一个依赖旧版Java Web Start(JNLP)的内部系统,但点击.jnlp链接后浏览器直接下载文件、不自动启动,或弹出“无法找到Java Web Start”提示——这不是Java没装好,而是火狐自52版本起彻底移除了对NPAPI插件的支持,连带切断了与传统JNLP启动器的底层通信通道。
确认Java Web Start是否仍在系统中存活
打开终端(Windows按Win+R→输入cmd→回车;macOS/Linux开Terminal),执行:
【java -version】 —— 必须显示1.8.0_xxx或更高版本(JDK 8u202及以前才含完整JNLP支持);若提示“不是内部或外部命令”,说明JRE未加入PATH,或安装的是精简版JRE(如OpenJDK 17+默认不含javaws)。
接着运行:【where javaws】(Windows)或 【which javaws】(macOS/Linux)。如果返回空结果,代表javaws可执行文件根本不存在——你装的可能是JDK 11+或OpenJDK,它们已删除javaws工具。必须卸载当前JRE,从Oracle官网下载并安装【JRE 8 Update 202(或更早)】,安装时勾选“Java Web Start”组件。
立即学习“Java免费学习笔记(深入)”;
手动关联.jnlp文件到javaws.exe
方法一:通过火狐内置文件类型设置
在火狐地址栏输入 about:preferences#general → 拉到“应用程序”区域 → 找到“JNLP文件”条目 → 点击右侧下拉菜单 → 选择“使用 javaws.exe 打开”。若列表里没有该选项,点击“更多…” → 浏览到 C:\Program Files\Java\jre1.8.0_202\bin\javaws.exe(路径需按你实际JRE安装位置调整)→ 选中并确认。
方法二:绕过火狐,用系统级默认程序绑定(更可靠)
Windows:右键任意.jnlp文件 → “打开方式” → “选择其他应用” → 勾选“始终使用此应用打开.jnlp文件” → 点击“查找其他应用” → 导航至javaws.exe所在目录 → 选中 → 确定。这步成功后,火狐下载.jnlp文件时会直接调用系统默认程序,不再卡在下载页。
强制火狐信任特定JNLP站点(关键一步)
第一步:打开Java控制面板(Windows在控制面板搜“Java”,macOS在系统偏好设置里找“Java”图标)→ 切换到“安全”选项卡 → 将安全级别拖到“中” → 点击“编辑站点列表…” → 添加你要访问的Java系统完整URL(例如 https://hr.internal.corp:8443/ ),注意必须带协议、端口、斜杠结尾,且不能是通配符。
第二步:回到火狐 → 地址栏输入 about:config → 接受风险警告 → 搜索 network.protocol-handler.expose.jnlp → 双击将其值设为 true。这步解锁火狐对jnlp协议的主动调用权限,否则它会把链接当普通文件处理。
第三步:重启火狐浏览器。此时再访问该站点的.jnlp链接,应弹出Java安全警告 → 点击“运行” → 启动Java Web Start窗口。
验证Java Web Start是否真正接管
打开命令行,执行:javaws -viewer。如果弹出图形化缓存管理器窗口,说明javaws服务进程正常;若报错“No Java runtime present”,说明JRE路径未被识别,需检查系统环境变量JAVA_HOME是否指向jre1.8.0_202根目录,且Path中包含%JAVA_HOME%\bin。
直接双击桌面任意.jnlp文件。如果出现Java安全提示框而非文本编辑器打开,即证明系统级关联已生效。
在火狐中访问目标系统,点击功能按钮触发.jnlp下载 → 观察地址栏左侧是否出现Java图标(⚡️形图标)→ 点击该图标 → 出现“允许启动Java应用程序”对话框 → 勾选“记住我的选择” → 点击“运行”。












