如何更改Eclipse Update Manager的“读取超时”值?

时间:2009-09-28 20:16:15

标签: eclipse plugins equinox

如何更改Eclipse Update Manager的“读取超时”值?

我的网络连接速度慢,我无法安装任何插件,因为Eclipse的Update Manager会引发异常:

Transfer Exception

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:140)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 

5 个答案:

答案 0 :(得分:17)

正如Frank提到的,你可以在eclipse.ini中设置超时选项,这里是documentation

“使用-DpropName = propValue作为Java VM的VM参数,在相应配置区域的config.ini文件中设置所需的属性”

我设置以下内容以解决我的超时问题:

-Dorg.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=3000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=3000

答案 1 :(得分:14)

我在3.6版本中遇到了很多错误,但是将以下行添加到eclipse.ini对我帮助很大:

-Dsun.net.client.defaultReadTimeout=30000

在行之后添加 -vmargs

答案 2 :(得分:0)

解决此问题的最简单方法是下载您尝试安装的插件的.jar文件并执行离线安装。

修改:我试图找到指向操作方法的链接,但eclipse.org一直在我身上。

答案 3 :(得分:0)

我相信您在3.5.1的推出期间遇到了这些超时问题。 Eclipse.org在此期间有几个服务器和镜像问题,这导致manhy人在尝试更新时遇到超时。

将来,当您看到这样的问题时,您可以尝试从特定镜像进行安装。我发现即使Eclipse.org不是这样,从这里进行安装往往也能正常工作:

http://eclipse.unixheads.org/

答案 4 :(得分:0)

超时不是原因,只是症状,可能有“僵尸”条目 在更新站点中。

赞:

update sites with zombie entries

删除“名称”列为空的内容后 它应该工作(更快)。