我们有一个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应用程序使用哪些网络设置?
答案 0 :(得分:2)
看起来我终于明白了:
如何在Windows 32位的RCP-Application中通过首选项页面设置网络配置:
menu.add(new OpenPreferencesAction(getActionBarConfigurer().getWindowConfigurer()
.getWindow()));
将一些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。