在RCP应用程序中设置网络选项

时间:2009-11-09 20:56:10

标签: networking settings eclipse-rcp

我们有一个RCP应用程序,有时会从互联网上的URL中获取一些数据。我们的客户使用代理服务器,除非网络设置正确(设置代理IP和端口号),否则我们无法获取所需信息。

在Eclipse(IDE)中,有Preferences-> General->网络连接对话框来设置这些设置。我设法包括首选项对话框(menu.add(new OpenPreferencesAction(window));,甚至获得选项“网络连接”(通过在插件设置中向org.eclipse.ui.net添加依赖项。)但是当我打开对话框时,它说“当前显示的页面包含无效值。”我无法在那里设置任何值。

日志文件说:(感谢VonC)

!ENTRY org.eclipse.jface 4 2 2009-11-09 21:51:39.798 !MESSAGE从插件调用代码时出现问题:“org.eclipse.jface”。 !堆栈0 java.lang.NoClassDefFoundError:org / eclipse / core / internal / net / ProxySelector     在org.eclipse.ui.internal.net.ProxyEntriesComposite.initializeValues(ProxyEntriesComposite.java:248)     在org.eclipse.ui.internal.net.ProxyEntriesComposite.createWidgets(ProxyEntriesComposite.java:130)     在org.eclipse.ui.internal.net.ProxyEntriesComposite。(ProxyEntriesComposite.java:57)     在org.eclipse.ui.internal.net.ProxyPreferencePage.createProxyEntriesComposite(ProxyPreferencePage.java:81)     在org.eclipse.ui.internal.net.ProxyPreferencePage.createContents(ProxyPreferencePage.java:54)     在org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:235)

有人知道如何通过使用首选项页面,手动编码或使用某些配置文件来告诉eclipse-RCP应用程序使用哪些网络设置?

2 个答案:

答案 0 :(得分:2)

看起来我终于明白了:

如何在Windows 32位的RCP-Application中通过首选项页面设置网络配置:

  1. 将包org.eclipse.ui.net,org.eclipse.core.net和org.eclipse.core.net.win32.x86放入目标平台,并在Manfifest中为前两个添加依赖项。 MF
  2. 确保你有兼容的版本(这是我的错误,我有一个旧版本的org.eclipse.net.win32.x86)。例如,从Galileo Eclipse IDE中获取所有三个文件
  3. 在ActionBarAdvisor类中,添加:menu.add(new OpenPreferencesAction(getActionBarConfigurer().getWindowConfigurer() .getWindow()));
  4. 将一些DLL文件放在硬盘上的某处并不是必须的!

答案 1 :(得分:1)

如何在自己的插件中使用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。

现在你可以使用net api。