我如何配置代理设置以便Eclipse可以下载新的插件?

时间:2011-05-02 08:46:38

标签: eclipse proxy

我正在使用Eclipse 3.7,在Web代理后面的Windows XP环境中。

我想在新解压缩的 Eclipse Indigo( Eclipse Java EE Indigo M4 )上安装Groovy plugin。 我将update site添加到Available Software Site列表中。

但Eclipse无法检索此插件的信息,因此无法安装......

如果我将Native配置放在General > Network Connections中,但未选择Auth选项,则在尝试访问更新站点时会出现以下错误:

HTTP Proxy Authentication Required: http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/content.xml
HTTP Proxy Authentication Required: http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/content.xml
Proxy Authentication Required

现在,我选择manual,我为三种模式(HTTP,HTTPS,SOCKS)定义了所有正确的信息:代理,端口,身份验证,用户和密码。 但是,当我尝试访问更新站点时,Eclipse表明他是Fetching children of Groovy Eclipse,但保持此状态为0%...

奇怪的是,即使我在General > Network Connections配置中输入了错误的密码,我也不会收到任何错误消息。

我的问题:

  • 我的配置有什么问题?
  • 还有另一种定义代理配置的方法吗?
  • 有没有办法获取更多信息,知道Eclipse正在尝试做什么(workspace/.metadata/.log不包含任何有用的信息)?

另一个问题(轻微)是代理设置的修改似乎只在Eclipse重启后处理。


ps1:使用我的浏览器,我可以访问更新站点,因此代理不会阻止它。

ps2:此问题与此插件无关,因为Eclipse对其他插件的行为方式相同。

ps3:以下是我启动Eclipse并尝试安装插件时workspace/.metadata/.log的内容(所有这些日志都是在启动期间编写的,当Eclipse尝试访问时没有更新网站)

!SESSION 2011-05-02 10:38:58.681 -----------------------------------------------
eclipse.buildId=I20101208-1300
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.228
!MESSAGE System property http.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.228
!MESSAGE System property http.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.osgi 2 1 2011-05-02 10:39:02.447
!MESSAGE NLS missing message: TaskJobFactory_Refreshing_repository_configuration in: org.eclipse.mylyn.internal.tasks.ui.messages

修改

如果我在eclipse.ini文件(because of that)中添加以下行,则可以使用:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=XXX
-Dhttp.proxyUser=XXX
-Dhttp.proxyPassword=XXX
-Dhttp.nonProxyHosts=localhost|127.0.0.1

但为什么呢? Eclipse 3.7中是否仍存在此问题?

7 个答案:

答案 0 :(得分:317)

我遇到了同样的问题。我将Eclipse 3.7安装到一个新文件夹中,并创建了一个新的工作区。我使用-data参数启动Eclipse以引用新工作区。

当我尝试连接到市场以获取SVN和Maven插件时,我会遇到OP中描述的相同问题。

经过几次尝试后,我清除了SOCKS 协议的代理设置,并且我能够连接到市场。

因此,我的解决方案是配置HTTP和HTTPS代理的手动设置,清除SOCKS的设置,然后重新启动Eclipse。

答案 1 :(得分:39)

手动+禁用SOCKS对我不起作用(仍尝试使用SOCKS并且我的公司代理拒绝了它),
原生 +已更改 eclipse.ini 为我工作

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyHost=myproxy
-Dhttp.proxyPort=8080
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1

这些设置需要重启IDE(有时使用-clean -refresh命令行选项) https://bugs.eclipse.org/bugs/show_bug.cgi?id=281472


Java8,Eclipse Neon3,慢代理服务器:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4
-Dhttp.proxyHost=<proxy>
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=<proxy>
-Dhttps.proxyPort=8080
-DsocksProxyHost=
-DsocksProxyPort=
-Dhttp.proxyUser=<user>
-Dhttp.proxyPassword=<pass>
-Dhttp.nonProxyHosts=localhost|127.0.0.1
-Dorg.eclipse.equinox.p2.transport.ecf.retry=5
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.connectTimeout=15000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=1000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=20
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=1000
-Dorg.eclipse.ecf.provider.filetransfer.browse.connectTimeout=3000
-Dorg.eclipse.ecf.provider.filetransfer.browse.readTimeout=1000

答案 2 :(得分:13)

只是作为 POSSIBLE 解决方案添加到线程中,在公司防火墙后面的Linux系统上进行开发时遇到了类似的问题。但是,使用Windows XP计算机,Eclipse可以很好地访问不同的更新站点,因为手动和本机网络连接提供程序使用公司代理都可以正常工作。

经过一段时间的磕磕绊绊之后,我遇到了关于使用NTLMv2和http://cntlm.sourceforge.net/的实现的讨论。对于任何发布此内容的人,我都非常赞赏,因为它帮助我解决了在Linux上运行的问题。作为旁注,我在Linux和Windows发行版上都使用Eclipse 3.6.2 / Helios。

祝你找到解决方案!

答案 3 :(得分:13)

有一个eclipse.ini(sts.ini)参数可以提供帮助:

-Djava.net.useSystemProxies=true

每次更改工作环境时,都会在这个微不足道的设置上浪费很多精力...请参阅eclipse bugzilla上的相关错误之一。

答案 4 :(得分:10)

终于为我工作了!

在Eclipse中,Window&gt;偏好&gt;一般&gt;网络连接,
将Active Provider设置为 Native
添加到 eclipse.ini

-Djava.net.useSystemProxies=true
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=myproxy
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1|192.168.*|10.*
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4

答案 5 :(得分:5)

我安装了HandyCache,在我的通用代理上安装链接。

在IE set proxy 127.0.0.1中。

在Eclipse中,Window&gt;偏好&gt;一般&gt;网络连接,设置Active Provider = Native。

答案 6 :(得分:0)

对我来说,我去 \ eclipse \ configuration.settings \ org.eclipse.core.net.prefs手动将属性systemProxiesEnabled设置为true并重新启动eclipse。