¿Cómo debo configurar los ajustes del proxy para que Eclipse pueda descargar nuevos complementos?

178

Estoy trabajando con Eclipse 3.7, en un entorno Windows XP detrás de un proxy web.

Quiero instalar el complemento Groovy en un Eclipse Indigo recién descomprimido ( Eclipse Java EE Indigo M4 ). Agregué el sitio de actualización a la Available Software Sitelista.

Pero Eclipse no puede recuperar la información de este complemento y, por lo tanto, la instalación no es posible ...

Si pongo la Nativeconfiguración General > Network Connections, que no tiene la Authopción seleccionada, aparece el siguiente error cuando intento acceder al sitio de actualización:

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

Así que ahora, selecciono manual, defino toda la información correcta para los tres esquemas (HTTP, HTTPS, SOCKS): proxy, puerto, autenticación, usuario y contraseña. Sin embargo, cuando intento acceder al sitio de actualización, Eclipse me indica que sí Fetching children of Groovy Eclipse, pero mantengo este estado en 0% ...

Lo extraño es que incluso si pongo una contraseña incorrecta en la General > Network Connectionsconfiguración, no recibo ningún mensaje de error.

Mis preguntas:

  • ¿Qué hay de malo en mi configuración?
  • ¿Hay otra forma de definir la configuración del proxy?
  • ¿Hay alguna manera de obtener más información, de saber qué está tratando de hacer Eclipse ( workspace/.metadata/.logno contiene ninguna información útil)?

Otro problema (sin embargo menor) es que las modificaciones de la configuración del proxy parecen manejarse solo después de reiniciar Eclipse.


ps1: usando mi navegador, puedo acceder al sitio de actualización, por lo que el proxy no lo bloquea.

ps2: este problema no está relacionado con este complemento, ya que Eclipse se comporta de la misma manera para otro complemento.

ps3: Aquí está el contenido de workspace/.metadata/.logcuando inicio Eclipse e intento instalar el complemento (todos estos registros se escriben durante el inicio, ninguno cuando Eclipse intenta acceder al sitio de actualización)

!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

Si agrego las siguientes líneas en mi eclipse.iniarchivo ( por eso ), funciona:

-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

¿Pero por qué? ¿Este problema todavía existe en Eclipse 3.7?

Romain Linsolas
fuente
Tengo una pregunta similar: ¿cómo instalo la actualización de eclipse desde un servidor proxy (o caché) en ubuntu? o debería preguntar esto en el servidor ubuntu? thx
Enrique San Martín
3
¡El problema existe incluso en Eclipse Neon (2017-05-12)! Han pasado 6 años: O
Ram
2
@Ram ... y en Eclipse Oxygen (2017-09-21) !!
gior91

Respuestas:

330

Yo tuve el mismo problema. Instalé Eclipse 3.7 en una nueva carpeta y creé un nuevo espacio de trabajo. Lanzo Eclipse con un argumento -data para hacer referencia al nuevo espacio de trabajo.

Cuando intento conectarme al mercado para obtener los complementos SVN y Maven, obtengo los mismos problemas descritos en OP.

Después de algunos intentos más, borré la configuración del proxy para el protocolo SOCKS y pude conectarme al mercado.

Entonces, la solución para mí fue configurar los ajustes manuales para el proxy HTTP y HTTPS, borrar los ajustes para SOCKS y reiniciar Eclipse.

roostergx
fuente
Lo mismo aquí, reporté un error y fue ignorado. El tipo básicamente dijo que "funciona para mí". En los últimos 10 años, nunca he tenido la configuración de proxy que funcione como se esperaba. Tengo que encontrar alguna configuración oculta.
Berlin Brown el
13
De hecho, aunque parecía que el valor de CALCETINES estaba totalmente vacío, esto funcionó repentinamente después (para la configuración MANUAL) resalté la fila de CALCETINES, hice clic en "Borrar", luego en Aceptar, luego reinicié el eclipse. Si esto no es un error, no sé qué es.
DanM
Muchas gracias. Nunca hubiera pensado que esto podría ser una solución. Estaba dentro del firewall corporativo e intentaba actualizar un plugin de limpieza todo el tiempo. Esto parece resolver el problema.
Ayusman el
3
También tuve este problema e intenté los pasos anteriores. Pero todavía no se resolvería. Tuve que editar [directorio de instalación de eclipse] /configuration/.settings/org.eclipse.core.net.prefs y restablecer proxyData / SOCKS / hasAuth = false. Luego siga los pasos en esta respuesta
Delicia Brummitt
¡Gracias! Esto solo funcionó para mí después de reiniciar mi máquina Ubuntu. Ningún cambio de configuración que hice convencería de lo contrario.
Seth
39

Manual + deshabilitar SOCKS no funcionó para mí (todavía intenté usar SOCKS y el proxy de mi empresa lo rechazó),
Native + cambiado eclipse.ini funcionó para mí

-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

Esta configuración requiere reinicio IDE (a veces con -clean -refreshopciones de línea 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
Miguel
fuente
55
Hola, ¿se requiere la parte "Dorg.eclipse.ecf.provider.filetransfer.excludeContributors"?
Daniil Shevelev
¿Cuál es la diferencia entre httpclient4y httpclient?
m13r
2
Confirmado para oxígeno.2 y 3A.
DigiLive
Funciona para Eclipse Oxygen, solo use la configuración de red nativa y agregue esas líneas en eclipse.ini
user3437460
14

Hay un parámetro eclipse.ini (sts.ini) que puede ayudar:

-Djava.net.useSystemProxies=true

Se pierde mucho esfuerzo en esta configuración trivial cada vez que cambio el entorno de trabajo ... Vea uno de los errores relacionados en eclipse bugzilla .

razvanone
fuente
3
En caso de que afecte a alguien más, usar useSystemProxies=trueEclipse Oxygen me causó problemas porque no detectó correctamente la variable env https_proxy. Entonces, aunque las páginas http funcionaban bien, las páginas https no se cargaban. También tenga en cuenta que una vez que establezca esta configuración, la configuración leída del entorno anula la configuración del proxy Eclipse.
Parisbre56
13

Solo para agregar al hilo como una POSIBLE solución, enfrenté un problema similar al desarrollar en un sistema Linux que estaba detrás de un firewall de la compañía. Sin embargo, al usar una máquina con Windows XP, Eclipse pudo acceder a diferentes sitios de actualización sin problemas ya que tanto los proveedores de conexión de red manuales como los nativos funcionaron bien usando el proxy de la compañía.

Después de tropezar durante un tiempo, me encontré con una discusión sobre el uso de NTLMv2 y una implementación que se encuentra en http://cntlm.sourceforge.net/ . A quien haya publicado esto, le doy mucho crédito ya que me ayudó a superar el problema que se ejecuta en Linux. Como nota al margen, estaba usando Eclipse 3.6.2 / Helios en las distribuciones de Linux y Windows.

¡Mucha suerte en encontrar una solución!

Miguel
fuente
He intentado todas las otras sugerencias, pero nada me ayudó. Instalar CNTLM hizo el truco. Estoy en Windows 7, JDK 1.7, Eclipse 4.3.2
slu
@slu ¡Me alegra saber que esto funcionó para ti! Hasta la fecha, esto todavía funciona para mí, incluso con la migración a las últimas versiones de JDK y Eclipse.
Michael
Usar cntlm como proxy local también funciona para mí. También tuve que desactivar los calcetines, de lo contrario localhost: el puerto no funcionará con el eclipse de luna.
Bort
12

¡Por fin trabaja para mí!

En Eclipse, Ventana> Preferencias> General> Conexiones de red,
establezca Proveedor activo en Agregar nativo
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
fuente
5

Instalé HandyCache, en ellos instalo el enlace en mi proxy general.

En IE, configure el proxy 127.0.0.1.

En Eclipse, Ventana> Preferencias> General> Conexiones de red, establezca Proveedor activo = Nativo.

Máxima
fuente
0

Para mí, voy a \ eclipse \ configuration.settings \ org.eclipse.core.net.prefs, establezco la propiedad systemProxiesEnabled en true manualmente y reinicio eclipse.

vuhoanghiep1993
fuente