强制Eclipse(Helios)在应用程序运行时使用更新版本的SWT



我正在使用Eclipse Helios开发一个RCP项目。

安装的SWT版本(在插件目录中)是[org.eclipse.SWT-win32-3.6.2,&org.eclipse/SWT.jar]

我需要新的API功能,该功能仅在swt-3.8中提供。(特别是,我希望在打开之前为SWT颜色对话框设置自定义颜色。)

我已经从SWT/Eclipse下载站点下载了3.8.1[http://download.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/#SWT]

  • SWT下载不是一个插件(几个jar、src.zip和一些自述文件),所以我无法将其添加到我的"目标平台"(即使在"位置"中添加了包含目录,它也不会显示为可用的jar)
  • 我找不到SWT的更新网站(或任何可以获得新版本插件的网站)

如果我将swt.3.8.jar添加到我的类路径中(然后在项目构建路径中增加它的顺序优先级),我就可以从代码中访问更新的api功能(以及查看源代码)。然而,当我运行应用程序时,运行时似乎仍在使用旧的SWT jar,因为我在尝试访问新功能时遇到了未知的方法错误。

问题:

  1. 是否有一个SWT存储库位置,我可以使用eclipse安装管理器下载SWT的新版本
  2. 如果没有,有没有办法强制运行时忽略旧版本(我假设是通过plugin.xml)
  3. 有没有更好的方法来实现我想要做的事情
  4. 目前在helios插件目录中的两个SWT jar之间有什么区别(因为3.8下载只包含win-32版本)

提前感谢。

SWT可作为单独的插件下载:
http://download.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/#SWT

Eclipse 3.8包含常规插件,包括SWT(特定于win32的插件以及通用的"org.Eclipse.SWT.jar")。我目前使用的是3.8版本,它们显示为插件。

我也有Eclipse3.6(Helios),我可以使用"File->import->Plug-inDevelopment->Plug-insandFragments"向导导入swt插件。我刚刚指定了eclipse3.8目录,可以在我的工作区中导入它们。一旦导入,我当然可以使用它们将其包含在运行时环境中。Eclipse应该自动使用最新版本。

最新更新