OSX上JVM的Zombie http.proxyHost设置

时间:2009-03-06 16:51:38

标签: java eclipse macos proxy jvm

我最近更改了网络并从OSX(Leopard)上的系统偏好设置/网络面板中删除了所有HTTP代理设置。但是,现在每当我使用Eclipse时,Java HTTP代理系统属性似乎都“自动”设置为使用我现在已经不存在的HTTP代理。

我可以在我的系统上找到没有直接引用到此代理任何地方,删除并重新安装Eclipse,监控网络流量以排除任何代理自动配置,然而,此代理配置在Mac OSX JVM上仍然存在。

这是我在Eclipse配置细节中看到的:

http.proxyHost=zombie
http.proxyPort=8080
https.proxyHost=zombie
https.proxyPort=8080

我可以通过在Eclipse偏好设置中手动配置没有主机名或端口的代理来解决这个问题,但这似乎并不坚持,僵尸系统代理最终会从死里复活。

我个人认为这是某种Apple JVM错误 - 但有人能告诉我如何在不重新安装操作系统的情况下杀死这些僵尸HTTP代理设置吗?

3 个答案:

答案 0 :(得分:3)

检查

中的值
/System/Library/Frameworks/JavaVM.framework/Home/lib/net.properties

该文件中有评论说如果系统偏好设置中没有代理设置,代理设置(来自net.properties)仅用于。我想知道是否有更新你的net.properties文件,设置代理信息。现在您没有代理设置(在“系统偏好设置”中),实际上正在使用net.properties中的值。

答案 1 :(得分:1)

你重新安装了eclipse,但是你做到了:

  • 删除了旧工作区?
  • 有任何环境变量,如:
    set JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=host.example.com -Dhttp.proxyHost=7777
  • 观察了你的日食的java过程,看它是否用以下选项执行:
    java -classpath ./bin -Dhttp.proxyHost=webcache.mydomain.com -Dhttp.proxyPort=8080 -Dhttp.noProxyHosts=”localhost|host.mydomain.com”

答案 2 :(得分:1)

我猜你们都是使命。查看该属性的评论

# MacOSX:
# On MacOSX, setting java.net.useSystemProxies to true or false is a no-op.
# Proxy settings from System Preferences are always used and they override any
# settings specified in this file. Values from this file are only used if there
# are no proxy settings in System Preferences.
# See Release Notes for more information.

java.net.useSystemProxies=false