Настройка параметров сети в приложении RCP

У нас есть приложение RCP, которое иногда получает некоторые данные из URL-адресов в Интернете. Наш клиент использует прокси-сервер, и мы не можем получить необходимую нам информацию, если сетевые настройки неверны (настройка IP-адреса прокси-сервера и номера порта).

В Eclipse (среде IDE) есть диалоговое окно Preferences-> General-> Network Connections для установки этих параметров. Мне удалось включить диалоговое окно «Настройки» ( menu.add(new OpenPreferencesAction(window)); и даже получить параметр «Сетевые подключения» (путем добавления зависимости от org.eclipse.ui.net в настройках плагина). Но когда я открываю диалоговое окно, оно говорит: «Текущая отображаемая страница содержит недопустимые values.» и я не могу установить там никаких значений.

файлы журнала говорят: (спасибо VonC)

!ENTRY org.eclipse.jface 4 2 2009-11-09 21:51:39.798 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NoClassDefFoundError: org/eclipse/core/internal/net/ProxySelector at org.eclipse.ui.internal.net.ProxyEntriesComposite.initializeValues(ProxyEntriesComposite.java:248) at org.eclipse.ui.internal.net.ProxyEntriesComposite.createWidgets(ProxyEntriesComposite.java:130) at org.eclipse.ui.internal.net.ProxyEntriesComposite.(ProxyEntriesComposite.java:57) at org.eclipse.ui.internal.net.ProxyPreferencePage.createProxyEntriesComposite(ProxyPreferencePage.java:81) at org.eclipse.ui.internal.net.ProxyPreferencePage.createContents(ProxyPreferencePage.java:54) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:235)

Кто-нибудь знает способ сообщить приложению eclipse-RCP, какие сетевые настройки использовать, либо с помощью страницы настроек, либо с помощью ручного кодирования, либо с помощью некоторых файлов конфигурации?


person panschk    schedule 09.11.2009    source источник
comment
Что журнал ошибок говорит об этом исключении?   -  person VonC    schedule 10.11.2009


Ответы (2)


Кажется, я наконец понял:

Как сделать настройку сети на странице настроек возможной в RCP-приложении в 32-разрядной версии Windows:

  1. Поместите пакеты org.eclipse.ui.net, org.eclipse.core.net и org.eclipse.core.net.win32.x86 в вашу целевую платформу и добавьте зависимости к первым двум из них в вашем Manfifest.MF.
  2. Убедитесь, что у вас есть совместимые версии (это была моя ошибка, у меня была старая версия org.eclipse.net.win32.x86). Например, получите все три файла из IDE Galileo Eclipse.
  3. В свой класс ActionBarAdvisor добавьте: menu.add(new OpenPreferencesAction(getActionBarConfigurer().getWindowConfigurer() .getWindow()));

Размещать какие-то DLL-файлы где-то на жестком диске не обязательно!

person panschk    schedule 10.11.2009

Как использовать сетевые параметры eclipse в своем собственном плагине (проверено win32): добавить jar-файлы: org.eclipse.core.net и org.eclipse.ui.net добавить jWinHttp-1.0.0.dll (извлекается из org.eclipse.core .net.win32.x86) в каталог, указанный в пути Windows (например, c:\windows). Возможно, также можно передать системное свойство для поиска dll в определенном месте.

Теперь вы можете использовать чистый API.

person javalympics    schedule 10.11.2009