You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制便携版Firefox仅使用便携版Java JRE,忽略系统本地安装的Java?

如何强制便携版Firefox仅使用便携版Java JRE,忽略系统本地安装的Java?

我目前碰到个棘手的问题:手里有不少依赖旧版浏览器和Java的legacy系统(比如老HP iLO的控制台界面),我想让便携版Firefox只调用便携版Java JRE,完全忽略系统本地安装的Java。

先交代下我的环境:

  • 操作系统:Windows 10 Enterprise 21h2
  • 系统本地已安装Java 8 JRE Update 202(给其他程序使用)
  • 便携Firefox版本:3.6.28,安装路径:C:\PortableApps\FirefoxPortablev3.6.28
  • 便携Java JRE版本:6 Update 22,安装路径:C:\PortableApps\CommonFiles\Java

我之前参考了一些方法做了配置调整,但结果不尽如人意,先跟大伙说说我已经做的操作:

已完成的配置修改

1. 便携Java文件调整

我把Java目录里的几个文件移到备份文件夹,避免可能的冲突:

  • 从C:\PortableApps\CommonFiles\Java\bin\移动到C:\PortableApps\CommonFiles\Java\bin\_backup的文件:
    • npdeploytk.dll
    • npjpi160_17.dll
    • npoji610.dll
    • npt.dll
  • 另外把C:\PortableApps\CommonFiles\Java\bin\new_plugin\下的npjp2.dll移动到了C:\PortableApps\CommonFiles\Java\bin\目录

2. 便携Firefox配置调整

  • 编辑C:\PortableApps\FirefoxPortablev3.6.28目录下的FirefoxPortable.ini,修改内容为:
[FirefoxPortable]
PluginsDirectory=..\CommonFiles\Java\bin 
  • 打开便携Firefox,在地址栏输入about:config,找到plugin.scan.plid.all并设置为FALSE,防止Firefox读取注册表中的MozillaPlugins条目

遇到的核心问题

做完上述操作后,我打开便携Firefox查看插件,确实只显示Java 6的插件,但当我运行Java程序时,发现它实际调用的还是系统本地的Java 8 JRE Update 202!这直接导致legacy系统无法正常运行(因为不兼容Java 8),而我单独用Java 6 Update 22测试时,程序是能正常工作的。

后续尝试与新问题(更新1)

后来我尝试换用JPortable 7 Update 13,因为查到了离线安装的方法:

  • 我先在联网电脑上安装JPortable,然后把CommonFiles\Java整个目录复制到目标离线电脑;也试过直接在离线电脑上用安装包+提前下载好的jre-7u13-windows-i586文件进行离线安装
  • 安装完成后,重复了之前的所有配置修改

这次有了变化:打开Java程序时,终于弹出了“Java已过期”的提示(这说明Firefox终于识别到便携版Java了!),但当我确认后,Java小程序窗口弹出,没过一会儿便携Firefox就直接崩溃了,连错误提示都没有。

补充测试结果(更新2)

我又分别测试了两种便携Java的部署方式:

  1. 联网电脑安装JPortable 6 Update 22,再复制目录到离线电脑
  2. 离线电脑直接安装JPortable 7 Update 13

结果发现这两种方式下JPortable都能正常工作,但之前的核心问题还是没解决:要么Firefox偷偷用了系统Java,要么识别到便携Java却直接崩溃。

现在就想请教各位,有没有办法能彻底让便携版Firefox只调用便携版Java JRE,完全不依赖系统里的Java安装?


备注:内容来源于stack exchange,提问作者S.Mahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 13:04:36