当安装程序的原生启动器创建 JVM 而不暴露 java 命令行时,请先在该 PowerShell 会话中设置此环境变量,然后再启动安装程序:

$env:JAVA_TOOL_OPTIONS = '-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080'

名称正是 JAVA_TOOL_OPTIONS。对于无需代理身份验证的、被允许的公共制品安装,HTTP 代理列表中的地址可以替换主机名和单独的端口;两种目标协议都可以使用同一个中间代理。这适用于使用这些 JVM 代理属性的 HTTP 栈。

VM 通过 JNI_CreateJavaVM 读取该变量。它接受 -D 之类的 VM 选项,而不是 -jar 选择之类的仅限启动器的指令。名为 JAVA_OPTS 的变量则是一种脚本约定,仅在启动器读取它的地方起作用。

请让此覆盖仅作用于预期的安装会话。已在运行的 GUI 进程或从其他父进程启动的进程不会自动获得当前 shell 更新后的环境。

相关文章