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


177

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

我想在新解压缩的 Eclipse Indigo(Eclipse Java EE Indigo M4)上安装Groovy插件。我将更新站点添加到列表中。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:这是workspace/.metadata/.log我启动Eclipse并尝试安装插件时的内容(所有这些日志都是在启动期间编写的,而在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文件中添加了以下几行(由于该原因),则可以使用:

-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中是否仍然存在此问题?


我有一个类似的问题:如何从ubuntu中的代理服务器(或缓存)安装eclipse更新?还是我应该在Ubuntu服务器上问这个?thx
Enrique SanMartín16年

3
即使在Eclipse Neon(2017-05-12)中也存在此问题!:O
Ram

2
@Ram ....和Eclipse Oxygen(2017-09-21)!!
gior91

Answers:


329

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

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

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

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


同样在这里,我报告了一个错误,并且被忽略了。这个家伙基本上说它“为我工作”。在过去的十年中,我从未像预期的那样进行过代理设置。我必须找到一些隐藏的配置设置。
柏林布朗

13
确实,即使看起来SOCKS值完全为空,但在(对于MANUAL config)我突出显示SOCKS行,单击“清除”,然后单击OK,然后重新启动eclipse后,这突然起作用。如果这不是错误,我不知道这是什么。
DanM 2012年

非常感谢。我永远都不会想到这可能是一个解决方案。我在公司防火墙内部,尝试更新Cleacase插件一直失败。这似乎解决了问题。
Ayusman 2012年

3
我也遇到了这个问题,并尝试了上述步骤。但这仍然无法解决。我必须编辑[eclipse安装目录] /configuration/.settings/org.eclipse.core.net.prefs并重置proxyData / SOCKS / hasAuth = false。然后按照这个答案的步骤
Delicia Brummitt

谢谢!这仅在重启我的Ubuntu计算机后对我有用。我所做的任何设置更改都无法说服它。
赛斯

39

手动+禁用SOCKS对我不起作用(仍然尝试使用SOCKS,但我的公司代理拒绝了),
Native +更改了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

5
嗨,是否需要“ Dorg.eclipse.ecf.provider.filetransfer.excludeContributors”部分?
Daniil Shevelev 2014年

httpclient4和之间有什么区别httpclient
m13r

2
确认为氧气2和3A。
DigiLive

它确实适用于Eclipse Oxygen,只需使用本机网络设置并在eclipse.ini中添加这些行
user3437460

14

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

-Djava.net.useSystemProxies=true

每次我更改工作环境时,都会在此琐碎的设置上花费大量精力...请参阅eclipse bugzilla上的相关错误之一。


3
以防万一它影响到其他任何人,useSystemProxies=true与Eclipse Oxygen一起使用对我造成了问题,因为它没有正确检测到env变量https_proxy。因此,尽管http页面运行良好,但无法加载https页面。还要注意,一旦设置了此设置,从环境中读取的设置将覆盖Eclipse代理设置。
Parisbre56

13

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

经过一段时间的摸索,我遇到了有关使用NTLMv2的讨论,以及在http://cntlm.sourceforge.net/上找到的实现。无论向谁发表此文章,我都深表感谢,因为它帮助我解决了在Linux上运行的问题。附带说明一下,我在Linux和Windows发行版上都使用Eclipse 3.6.2 / Helios。

祝您好运,找到解决方案!


我尝试了所有其他建议,但没有任何帮助。安装CNTLM可以解决问题。我使用的是Windows 7,JDK 1.7,Eclipse 4.3.2
slu

@slu很高兴听到这个为您服务!迄今为止,即使迁移到JDK和Eclipse的最新版本,这仍然对我有用。
迈克尔

使用cntlm作为本地代理对我也适用。我也必须禁用袜子,否则localhost:port不适用于luna eclipse。
2015年

12

终于为我工作!

在Eclipse中,窗口>首选项>常规>网络连接,
将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

我安装了HandyCache,在其中安装了我的常规代理上的链接。

在IE中设置代理127.0.0.1。

在Eclipse中,窗口>首选项>常规>网络连接中,设置Active Provider = Native。


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.