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

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

我想安装的 很棒的插件上的 刚拉开的拉链月食靛蓝(Eclipse JavaEE 靛蓝 M4)。 我将 更新网站添加到 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 重新启动后才能处理。


使用我的浏览器,我可以到达更新站点,所以它不会被代理阻塞。

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

314145 次浏览

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

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

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

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

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

经过一段时间的摸索,我偶然发现了一个关于使用 NTLMv2的讨论,并在 http://cntlm.sourceforge.net/中找到了一个实现。对于发布这篇文章的人,我非常感谢它帮助我解决了在 Linux 上运行的问题。顺便说一句,我在 Linux 和 Windows 发行版中都使用 Eclipse 3.6.2/Helios。

祝你找到解决办法!

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

在 IE 中设置代理127.0.0.1。

在 Eclipse 中,Window > Preferences > General > Network Connections,设置 Active Provider = National。

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

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

-Djava.net.useSystemProxies=true

每次我更改工作环境时,都会在这个琐碎的设置上浪费大量精力... ... 请参阅 日食怪兽上的一个相关错误。

终于为我工作了!

在 Eclipse 中,Window > Preferences > General > Network Connections,
将 ActiveProvider 设置为 < strong > Native
添加到 Eclipse ini: < br >

-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

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