Como preciso definir as configurações de proxy para que o Eclipse possa baixar novos plug-ins?

178

Estou trabalhando com o Eclipse 3.7, em um ambiente Windows XP atrás de um proxy da web.

Desejo instalar o plug - in Groovy em um Eclipse Indigo recentemente descompactado ( Eclipse Java EE Indigo M4 ). Adicionei o site de atualização à Available Software Sitelista.

Mas o Eclipse não é capaz de recuperar as informações deste plug-in e, portanto, a instalação não é possível ...

Se eu colocar a Nativeconfiguração General > Network Connections, que não tem a Authopção selecionada, recebo o seguinte erro ao tentar acessar o site de atualização:

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

Portanto, agora, seleciono manual, defino todas as informações corretas para os três esquemas (HTTP, HTTPS, SOCKS): proxy, porta, Auth, Usuário e senha. No entanto, quando tento acessar o site de atualização, o Eclipse indica que ele é Fetching children of Groovy Eclipse, mas mantenho esse status em 0% ...

O que é estranho é que, mesmo que eu coloque uma senha errada na General > Network Connectionsconfiguração, não recebo nenhuma mensagem de erro.

Minhas perguntas:

  • O que há de errado na minha configuração?
  • Existe outra maneira de definir a configuração do proxy?
  • Existe uma maneira de obter mais informações, para saber o que o Eclipse está tentando fazer (o workspace/.metadata/.lognão contém nenhuma informação útil)?

Outro problema (porém menor) é que as modificações nas configurações de proxy parecem ser tratadas somente após a reinicialização do Eclipse.


ps1: usando meu navegador, posso acessar o site de atualização, para que não seja bloqueado pelo proxy.

ps2: Esse problema não está relacionado a este plug-in, pois o Eclipse se comporta da mesma maneira para outro plug-in.

ps3: Aqui está o conteúdo de workspace/.metadata/.logquando inicio o Eclipse e tento instalar o plug-in (todos esses logs são gravados durante a inicialização, nenhum quando o Eclipse tenta acessar o site de atualização)

!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

Editar

Se eu adicionar as seguintes linhas no meu eclipse.iniarquivo ( por causa disso ), ele funcionará:

-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

Mas por que? Esse problema ainda existe no Eclipse 3.7?

Romain Linsolas
fonte
Tenho uma pergunta semelhante: como instalar a atualização do eclipse a partir de um servidor proxy (ou cache) no ubuntu? ou devo perguntar isso no servidor ubuntu? thx
Enrique San Martín
3
O problema existe até no Eclipse Neon (12/05/2017)! 6 anos se passaram: O
Ram
2
@Ram .... e no Eclipse Oxygen (21-09-2017) !!
precisa saber é o seguinte

Respostas:

330

Eu tive o mesmo problema. Instalei o Eclipse 3.7 em uma nova pasta e criei um novo espaço de trabalho. Eu inicio o Eclipse com um argumento -data para referenciar o novo espaço de trabalho.

Quando tento me conectar ao mercado para obter os plug-ins SVN e Maven, recebo os mesmos problemas descritos no OP.

Depois de mais algumas tentativas, limpei as configurações de proxy do protocolo SOCKS e consegui me conectar ao mercado.

Portanto, a solução para mim foi definir as configurações manuais do proxy HTTP e HTTPS, limpar as configurações do SOCKS e reiniciar o Eclipse.

roostergx
fonte
Mesmo aqui, relatei um bug e ele foi ignorado. O cara basicamente disse que 'funciona para mim'. Nos últimos 10 anos, nunca tive as configurações de proxy funcionando como esperado. Eu tenho que encontrar alguma configuração oculta.
Berlin Brown
13
De fato, mesmo que parecesse que o valor de SOCKS estava totalmente vazio, isso funcionou subitamente depois (para configuração MANUAL), destaquei a linha SOCKS, cliquei em "Limpar", depois em OK e reiniciei o eclipse. Se isso não for um bug, não sei o que é.
21412 DanM
Muito obrigado. Eu nunca teria pensado que isso poderia ser uma solução. Eu estava dentro do firewall corporativo e a tentativa de atualizar um plug-in cleacase falhava o tempo todo. Isso parece resolver o problema.
Ayusman
3
Também tive esse problema e tentei as etapas acima. Mas ainda não resolveria. Eu tive que editar [diretório de instalação do eclipse] /configuration/.settings/org.eclipse.core.net.prefs e redefinir proxyData / SOCKS / hasAuth = false. Em seguida, siga as etapas nesta resposta
Delicia Brummitt 03/04
Te agradece! Isso só funcionou para mim depois de reiniciar minha máquina Ubuntu. Nenhuma alteração nas configurações que eu fiz convenceria o contrário.
Seth
39

Desativar SOCKS manualmente + não funcionou para mim (ainda tentei usar SOCKS e o proxy da minha empresa recusou), o
Native + mudou eclipse.ini funcionou para mim

-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

Essas configurações exigem a reinicialização do IDE (às vezes com -clean -refreshopções de linha de comando).
https://bugs.eclipse.org/bugs/show_bug.cgi?id=281472


Java8, Eclipse Neon3, servidor proxy lento:

-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
Mike
fonte
5
Olá, a parte "Dorg.eclipse.ecf.provider.filetransfer.excludeContributors" é necessária?
21414 Daniil Shevelev #: 5114
Qual é a diferença entre httpclient4e httpclient?
M13r 26/07/19
2
Confirmado para oxigênio.2 e 3A.
DigiLive
Ele faz o trabalho para Eclipse Oxygen, basta usar as configurações de rede nativos e adicionar essas linhas em eclipse.ini
user3437460
14

Há um parâmetro eclipse.ini (sts.ini) que pode ajudar:

-Djava.net.useSystemProxies=true

Muito esforço foi desperdiçado nessa configuração trivial toda vez que mudo o ambiente de trabalho ... Veja um dos erros relacionados no eclipse bugzilla .

razvanone
fonte
3
No caso de afetar mais alguém, o uso useSystemProxies=truecom o Eclipse Oxygen causou problemas para mim porque não detectou adequadamente a variável env https_proxy. Portanto, enquanto as páginas http funcionassem bem, as páginas https não seriam carregadas. Observe também que, depois de definir essa configuração, as configurações lidas no ambiente substituem as configurações de proxy do Eclipse.
Parisbre56 10/10
13

Apenas para adicionar ao thread como uma solução POSSÍVEL , enfrentei um problema semelhante ao desenvolver um sistema Linux que estava atrás de um firewall da empresa. No entanto, usando uma máquina Windows XP, o Eclipse conseguiu acessar diferentes sites de atualização muito bem, pois os fornecedores de conexão de rede manual e nativa funcionaram muito bem usando o proxy da empresa.

Depois de tropeçar por algum tempo, me deparei com uma discussão sobre o uso do NTLMv2 e uma implementação que pode ser encontrada em http://cntlm.sourceforge.net/ . Para quem postou isso, dou muito crédito, pois me ajudou a superar o problema em execução no Linux. Como uma observação lateral, eu estava usando o Eclipse 3.6.2 / Helios nas distros do Linux e do Windows.

Boa sorte em encontrar uma solução!

Michael
fonte
Eu tentei todas as outras sugestões, mas nada ajudou. A instalação do CNTLM fez o truque. Estou no Windows 7, JDK 1.7, Eclipse 4.3.2
slu
@ Flu feliz em ouvir isso funcionou para você! Até o momento, isso ainda está funcionando para mim, mesmo com a migração para as versões mais recentes do JDK e Eclipse.
Michael
Usar o cntlm como proxy local também funciona para mim. Também tive que desativar as meias, caso contrário localhost: port não funcionará com o luna eclipse.
Bort
12

finalmente trabalhe para mim!

No Eclipse, Janela> Preferências> Geral> Conexões de Rede,
defina o Provedor Ativo como Nativo e
adicione a 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
Naami
fonte
5

Eu instalei o HandyCache, neles instale o link no meu proxy geral.

No IE, defina o proxy 127.0.0.1.

No Eclipse, Janela> Preferências> Geral> Conexões de Rede, defina Provedor Ativo = Nativo.

Máxima
fonte
0

Para mim, vou para \ eclipse \ configuration.settings \ org.eclipse.core.net.prefs defina a propriedade systemProxiesEnabled como true manualmente e reinicie o eclipse.

vuhoanghiep1993
fonte