Jak mam skonfigurować ustawienia proxy, aby Eclipse mogło pobierać nowe wtyczki?


178

Pracuję z Eclipse 3.7 w środowisku Windows XP za internetowym proxy.

Chcę zainstalować wtyczkę Groovy na nowo rozpakowanym Eclipse Indigo ( Eclipse Java EE Indigo M4 ). Dodałem aktualizację do Available Software Sitelisty.

Ale Eclipse nie jest w stanie pobrać informacji o tej wtyczce, więc instalacja nie jest możliwa ...

Jeśli wstawię Nativekonfigurację General > Network Connections, która nie ma Authwybranej opcji, przy próbie dostępu do witryny aktualizacji pojawia się następujący błąd:

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

Więc teraz wybieram manual, definiuję wszystkie poprawne informacje dla trzech schematów (HTTP, HTTPS, SOCKS): proxy, port, autoryzacja, użytkownik i hasło. Jednak kiedy próbuję wejść na stronę z aktualizacjami, Eclipse wskazuje, że tak Fetching children of Groovy Eclipse, ale utrzymuj ten status na 0% ...

Dziwne jest to, że nawet jeśli podam błędne hasło w General > Network Connectionskonfiguracji, nie otrzymuję żadnego komunikatu o błędzie.

Moje pytania:

  • Co jest nie tak w mojej konfiguracji?
  • Czy istnieje inny sposób zdefiniowania konfiguracji proxy?
  • Czy jest sposób, aby uzyskać więcej informacji, dowiedzieć się, co próbuje zrobić Eclipse ( workspace/.metadata/.lognie zawiera żadnych przydatnych informacji)?

Innym problemem (jednak niewielkim) jest to, że modyfikacje ustawień proxy wydają się być obsługiwane dopiero po ponownym uruchomieniu Eclipse.


ps1: Korzystając z przeglądarki, mogę uzyskać dostęp do witryny aktualizacji, więc nie jest ona blokowana przez serwer proxy.

ps2: Ten problem nie jest związany z tą wtyczką, ponieważ Eclipse zachowuje się tak samo w przypadku innych wtyczek.

ps3: Oto treść, workspace/.metadata/.logkiedy uruchamiam Eclipse i próbuję zainstalować wtyczkę (wszystkie te dzienniki są zapisywane podczas uruchamiania, żadne, gdy Eclipse próbuje uzyskać dostęp do witryny aktualizacji)

!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

Edytować

Jeśli dodam następujące wiersze w moim eclipse.inipliku ( z tego powodu ), działa:

-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

Ale dlaczego? Czy ten problem nadal występuje w Eclipse 3.7?


mam podobne pytanie: jak zainstalować aktualizację eclipse z serwera proxy (lub pamięci podręcznej) w systemie Ubuntu? czy powinienem o to zapytać na serwerze Ubuntu? thx
— Enrique San Martín

3
Problem istnieje nawet w Eclipse Neon (12.05.2017)! Minęło 6 lat: O
— Ram

2
@Ram .... iw Eclipse Oxygen (21.09.2017) !!
— gior91

Odpowiedzi:


330

Miałem ten sam problem. Zainstalowałem Eclipse 3.7 w nowym folderze i utworzyłem nowy obszar roboczy. Uruchamiam Eclipse z argumentem -data, aby odwołać się do nowego obszaru roboczego.

Kiedy próbuję połączyć się z rynkiem, aby pobrać wtyczki SVN i Maven, otrzymuję te same problemy, które opisano w OP.

Po kilku kolejnych próbach wyczyściłem ustawienia proxy dla protokołu SOCKS i udało mi się połączyć z rynkiem.

Dlatego rozwiązaniem dla mnie było skonfigurowanie ręcznych ustawień proxy HTTP i HTTPS, wyczyszczenie ustawień dla SOCKS i ponowne uruchomienie Eclipse.


To samo tutaj, zgłosiłem błąd i został zignorowany. Facet w zasadzie powiedział, że to „działa na mnie”. W ciągu ostatnich 10 lat ustawienia proxy nigdy nie działały zgodnie z oczekiwaniami. Muszę znaleźć jakieś ukryte ustawienia konfiguracyjne.
— Berlin Brown

13
Rzeczywiście, chociaż wyglądało na to, że wartość SOCKS była całkowicie pusta, to nagle zadziałało po (dla konfiguracji MANUAL), gdy podświetliłem wiersz SOCKS, kliknąłem „Wyczyść”, a następnie OK, a następnie ponownie uruchomiłem zaćmienie. Jeśli to nie jest błąd, nie wiem, co to jest.
— DanM,

Bardzo Ci dziękuję. Nigdy bym nie pomyślał, że to może być rozwiązanie. Byłem w firmowej zaporze sieciowej i próba aktualizacji wtyczki cleacase cały czas kończyła się niepowodzeniem. Wydaje się, że to rozwiązuje problem.
— Ayusman

3
Miałem również ten problem i wypróbowałem powyższe kroki. Ale to nadal nie rozwiązało. Musiałem edytować [katalog instalacyjny eclipse] /configuration/.settings/org.eclipse.core.net.prefs i zresetować proxyData / SOCKS / hasAuth = false. Następnie postępuj zgodnie z instrukcjami w tej odpowiedzi
— Delicia Brummitt

Dzięki Ci! To działało tylko dla mnie po ponownym uruchomieniu mojego komputera Ubuntu. Żadna zmiana ustawień, którą wprowadziłem, nie przekonałaby tego inaczej.
— Seth

39

Ręczne + wyłączanie SOCKS nie działało dla mnie (nadal próbowałem używać SOCKS, a proxy mojej firmy odmówiło),
Native + zmienione eclipse.ini działało dla mnie

-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

Te ustawienia wymagają ponownego uruchomienia IDE (czasami z -clean -refreshopcjami wiersza poleceń).
https://bugs.eclipse.org/bugs/show_bug.cgi?id=281472


Java8, Eclipse Neon3, wolny serwer proxy:

-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

5
Cześć, czy wymagana jest część „Dorg.eclipse.ecf.provider.filetransfer.excludeContributors”?
— Daniil Shevelev

Jaka jest różnica między httpclient4i httpclient?
— m13r

2
Potwierdzone dla tlenu. 2 i 3A.
— DigiLive

Działa dla Eclipse Oxygen, po prostu użyj natywnych ustawień sieci i dodaj te linie w eclipse.ini
— user3437460

14

Istnieje parametr eclipse.ini (sts.ini), który może pomóc:

-Djava.net.useSystemProxies=true

Za każdym razem, gdy zmieniam środowisko pracy, tracę wiele wysiłku na to trywialne ustawienie ... Zobacz jeden z powiązanych błędów w witrynie Eclipse bugzilla .


3
Na wszelki wypadek, gdyby dotyczyło to kogokolwiek innego, używanie useSystemProxies=truez Eclipse Oxygen powodowało problemy, ponieważ nie wykrywał poprawnie zmiennej env https_proxy. Więc chociaż strony http działały dobrze, strony https nie ładowały się. Należy również pamiętać, że po skonfigurowaniu tego ustawienia ustawienia odczytywane ze środowiska zastępują ustawienia serwera proxy Eclipse.
— Parisbre56

13

Aby dodać do wątku jako MOŻLIWE rozwiązanie, napotkałem podobny problem podczas programowania w systemie Linux, który był za zaporą firmową. Jednak korzystając z komputera z systemem Windows XP, Eclipse był w stanie uzyskać dostęp do różnych witryn aktualizacji, ponieważ zarówno ręczni, jak i natywni dostawcy połączeń sieciowych działali dobrze, korzystając z firmowego serwera proxy.

Po pewnym czasie natknąłem się na dyskusję o używaniu NTLMv2 i implementacji, którą można znaleźć pod adresem http://cntlm.sourceforge.net/ . Każdemu, kto to opublikował, przypisuję wiele uznania, ponieważ pomogło mi to obejść problem z działaniem w systemie Linux. Na marginesie, używałem Eclipse 3.6.2 / Helios zarówno w dystrybucjach Linuksa, jak i Windows.

Powodzenia w znalezieniu rozwiązania!


Wypróbowałem wszystkie inne sugestie, ale nic nie pomogło. Instalacja CNTLM załatwiła sprawę. Używam Windows 7, JDK 1.7, Eclipse 4.3.2
— slu,

@slu Cieszę się, że to zadziałało! Do tej pory to nadal działa, nawet przy migracji do najnowszych wersji JDK i Eclipse.
— Michael,

Używanie cntlm jako lokalnego serwera proxy działa również w moim przypadku. Musiałem też wyłączyć skarpetki, w przeciwnym razie localhost: port nie będzie działał z zaćmieniem Luna.
— Bort

12

wreszcie pracuj dla mnie!

W Eclipse, Okno> Preferencje> Ogólne> Połączenia sieciowe,
ustaw Active Provider na Native
add do 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

5

Zainstalowałem HandyCache, w nich link instalacyjny na moim ogólnym proxy.

W IE ustaw proxy 127.0.0.1.

W Eclipse, Okno> Preferencje> Ogólne> Połączenia sieciowe, ustaw Active Provider = Native.


0

Dla mnie idę do \ eclipse \ configuration.settings \ org.eclipse.core.net.prefs ustawiam właściwość systemProxiesEnabled na true ręcznie i ponownie uruchamiam eclipse.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.