我该如何configuration代理设置才能使Eclipse下载新的插件?

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

我想在一个新解压缩的 Eclipse Indigo( Eclipse Java EE Indigo M4 )上安装Groovy插件 。 我将更新站点添加到“ Available Software Site列表中。

但是Eclipse不能检索这个插件的信息,因此安装是不可能的…

如果我将“ General > Network Connections Nativeconfigurationselect为“没有身份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 

所以现在我selectmanual ,为三个模式(HTTP,HTTPS,SOCKS)定义所有正确的信息:代理,端口,authentication,用户和密码。 但是,当我尝试访问更新站点时,Eclipse正在指示他正在Fetching children of Groovy Eclipse ,但将此状态保持为0%。

奇怪的是,即使我在General > Network Connectionsconfiguration中input了错误的密码,我也没有收到任何错误信息。

我的问题:

  • 我的configuration有什么问题?
  • 是否有另一种方法来定义代理configuration?
  • 有没有办法获得更多的信息,知道什么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文件中添加以下行(正因为如此 ),它才起作用:

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

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

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

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

所以我的解决scheme是configurationHTTP和HTTPS代理的手动设置,清除SOCKS的设置,并重新启动Eclipse。

手动+禁用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 

只要将这个线程作为一个POSSIBLE解决scheme添加到线程中,在一个公司防火墙后面的Linux系统上开发时,我遇到了类似的问题。 但是,使用Windows XP机器,Eclipse能够访问不同的更新站点,因为手动和本地networking连接提供程序都使用公司代理工作得很好。

经过一段时间的磕磕绊绊之后,我遇到了有关使用NTLMv2的讨论,并且在http://cntlm.sourceforge.net/上find了一个实现。; 无论发布这个,我都非常赞赏,因为它帮助我解决了在Linux上运行的问题。 作为一个侧面说明,我在Linux和Windows发行版上都使用了Eclipse 3.6.2 / Helios。

祝您find解决scheme好运!

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

 -Djava.net.useSystemProxies=true 

每当我改变工作环境时,这个微不足道的设置浪费了很多精力……查看eclipse bugzilla上的一个相关的bug。

终于为我工作!

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

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

在IE设置代理127.0.0.1。

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