Как настроить параметры прокси-сервера, чтобы Eclipse мог загружать новые плагины?

Я работаю с Eclipse 3.7 в среде Windows XP за веб-прокси.

Я хочу установить плагин Groovy на недавно распакованном Eclipse Indigo (Eclipse Java EE Indigo 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): прокси, порт, Auth, User и пароль. Однако, когда я пытаюсь добраться до сайта обновления, Eclipse указывает, что он Fetching children of Groovy Eclipse, но сохраняет этот статус на 0%...

Странно, что даже если я ввел неправильный пароль в конфигурацию General > Network Connections, я не получаю сообщение об ошибке.

Мои вопросы:

  • Что не так в моей конфигурации?
  • Есть ли другой способ определить конфигурацию прокси-сервера?
  • Есть ли способ получить больше информации, чтобы знать, что пытается сделать Eclipse (workspace/.metadata/.log не содержит никакой полезной информации)?

Другая проблема (однако, однако) заключается в том, что изменения параметров прокси-сервера, похоже, обрабатываются только после перезапуска Eclipse.


ps1: Используя мой браузер, я могу добраться до сайта обновления, поэтому он не блокируется прокси.

ps2: эта проблема не связана с этим плагином, так как Eclipse ведет себя одинаково для другого плагина.

ps3: Вот содержимое workspace/.metadata/.log, когда я запускаю Eclipse и пытаюсь установить плагин (все эти журналы записываются во время запуска, нет, когда 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?

Ответы

Ответ 1

У меня была та же проблема. Я установил Eclipse 3.7 в новую папку и создал новое рабочее пространство. Я запускаю Eclipse с аргументом -data для ссылки на новое рабочее пространство.

Когда я пытаюсь подключиться к рынку, чтобы получить плагины SVN и Maven, я получаю те же проблемы, что и в OP.

После нескольких попыток я очистил настройки прокси для протокола SOCKS, и я смог подключиться к рынку.

Итак, решение для меня состояло в том, чтобы настроить параметры вручную для HTTP и HTTPS-прокси, очистить настройки для SOCKS и перезапустить Eclipse.

Ответ 2

Вручную + отключить 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

Ответ 3

Просто чтобы добавить в поток как ВОЗМОЖНОЕ решение, я столкнулся с аналогичной проблемой при разработке в системе Linux, которая находилась за брандмауэром компании. Однако, используя компьютер под управлением Windows XP, Eclipse смог получить доступ к различным сайтам обновлений очень хорошо, поскольку как ручные, так и родные поставщики сетевых подключений отлично работали с использованием прокси-сервера компании.

После спотыкания в течение некоторого времени я наткнулся на дискуссию об использовании NTLMv2 и реализации, которая будет найдена в http://cntlm.sourceforge.net/. Для тех, кто опубликовал это, я очень благодарен, поскольку это помогло мне преодолеть проблему, запущенную в Linux. В качестве примечания я использовал Eclipse 3.6.2/Helios как для дистрибутивов Linux, так и для Windows.

Удачи вам в поиске решения!

Ответ 4

Существует параметр eclipse.ini(sts.ini), который может помочь:

-Djava.net.useSystemProxies=true

Много усилий было потрачено на эту тривиальную настройку каждый раз, когда я меняю рабочую среду... См. одну из связанных ошибок на eclipse bugzilla.

Ответ 5

наконец, работайте для меня!

В Eclipse, Окно > Настройки > Общие > Сетевые подключения,
установите Active Provider на Родной
добавьте в 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

Ответ 6

Я установил HandyCache, установив ссылку на мой общий прокси.

В IE установлен прокси 127.0.0.1.

В Eclipse, Window > Preferences > General > Network Connections, установите Active Provider = Native.