【问题标题】:Java Control Panel Proxy Settings - where are they stored?Java 控制面板代理设置 - 它们存储在哪里?
【发布时间】:2016-01-06 20:32:24
【问题描述】:

我有……情况。想象一下,您有许多运行 Java 应用程序的 PC(Windows 7 到 8),该 Java 应用程序是使用 .jnlp 启动的。现在终于有了从 java 6 到 8 的版本跳转(花了很多时间),突然这个应用程序不再启动(无法解析第一个 jnlp,javaws 告诉我)。

要解决这个问题,我们必须在 java 控制面板中插入正确的代理设置(旧版本不需要)。 所以......手动完成这项任务是大多数用户无法完成的任务(遗憾的是他们的知识水平还不够),但是在所有 PC 上自己完成这项任务需要......呃......真的很长时间。

所以我们决定创建一个小批处理文件,它确实执行所有必要的工作(安装最新的 jre、清除缓存等),只需在每个用户 PC 上运行一次。理论上。

我们能够在该 .bat 中放置所有必要的步骤,除了在 java 控制面板中设置代理。我想知道这是否可能。 javaws 参数不包含这样的参数,我无法在 jre 或 java 缓存中找到物理存储。

恐怕我不能为那个 .jnlp 文件使用这些 -dHTTP.xxx.... 标志,因为那个 java webstart 是需要知道正确代理设置的那个,而不是应用程序。

那么有没有办法通过一些命令行参数或类似的东西来更改您可以通过 java 控制面板访问的代理设置,从而使自己能够完成这个“全新”脚本?

你好,困惑的梅林

【问题讨论】:

  • 这个有用吗? sevenforums.com/software/…
  • 哦,它看起来很有希望......我可以插入我需要的设置,但是一旦我再次打开控制面板以验证更改它会切换回旧值(我认为我什至可以看到插入的东西在变化)...关闭一个。需要更多研究,但感谢您的提示!

标签: java batch-file proxy


【解决方案1】:

Java 控制面板设置位于%userprofile%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties

要添加代理,您可以使用类似

(
 (echo(deployment.proxy.bypass.local=true)
 (echo(deployment.proxy.type=1)
 (echo(deployment.proxy.http.host=10.10.10.10)
 (echo(deployment.proxy.http.port=10)
)>>"%userprofile%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties"

但如果已经设置了代理,则需要替换数据。

【讨论】:

  • 所以它毕竟在缓存文件夹中,只是我瞎了。谢谢你的提示,我想我现在可以完成这个了。
  • @npockmaka 这些不平衡的括号让我的眼睛都变得好笑——尽管语法完全正确。 ;-)
  • @KlitosKyriacou - 这不应该是一个正确的语法,但 cmd 解析器很奇怪而且有问题。虽然这是一个旧的“黑客”和one of the safest ways to echo
  • @npocmaka cmd 确实很古怪,但我不会说有问题。如果没有记录其令人惊讶的功能,那将是错误的。但它们已记录在案。只是不是微软;-)
猜你喜欢
  • 2010-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
  • 2023-01-21
  • 2011-04-22
  • 2013-12-25
相关资源
最近更新 更多