【问题标题】:IProxyService.setProxyData affects system propertiesIProxyService.setProxyData 影响系统属性
【发布时间】:2015-08-31 18:59:54
【问题描述】:

在测试中,我尝试以编程方式更改 Eclipse 代理设置,而不直接影响 System 属性。

我目前的尝试是这样的:

    httpProxyData.setHost(host)
    httpProxyData.setPort(port)
    httpProxyData.setUserid(userId)
    httpProxyData.setPassword(password)

    proxyService.setProxyData((IProxyData[]) [
        httpProxyData
    ])

我的代理服务设置如下:

    proxyService.setProxiesEnabled(true)
    proxyService.setSystemProxiesEnabled(false)

proxyService.setProxyData 执行时,System.getproperty("http.proxyHost") 立即更改为hostIProxyService API 声明 System 属性不会受到影响。我希望System 属性仅受我在稍后或更早时间设置System.setProperty(..., ...) 的影响。

我是不是做错了什么?

【问题讨论】:

    标签: java eclipse proxy eclipse-plugin


    【解决方案1】:

    文档说“不影响系统代理的设置”——我认为他们的意思是它不会改变操作系统中的设置。

    看看它总是调用System.setProperty的代码(它只为当前的JVM设置属性)。

    【讨论】:

    • 谢谢greg-449。你指的是什么代码?我查看了ProxyManager,但找不到任何设置系统属性的内容。
    • org.eclipse.core.internal.net.ProxyType。它实际上调用System.getProperties 并操作返回的属性。
    • 有趣。在一个新项目中,当我(通过 UI)在首选项中设置 Eclipse 代理设置,然后创建一个查询类似System.getProperty("http.proxyHost"); 的程序时,它返回null。您是否知道使用 UI 是否会调用类似于 proxyService.setProxyData 的内容?
    • 如果您运行一个单独的程序,它将在不同的 JVM 中运行,因此不会获得在 Eclipse JVM 中设置的系统属性。
    猜你喜欢
    • 2015-02-08
    • 2013-08-20
    • 1970-01-01
    • 2015-08-17
    • 2021-03-18
    • 1970-01-01
    • 2011-01-28
    • 2011-02-21
    • 2020-09-29
    相关资源
    最近更新 更多