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

时间:2012-12-07 05:59:20

标签: eclipse-plugin swt eclipse-rcp helios

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

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

我需要新的API功能,只能从swt-3.8获得。 (具体来说,我希望在打开之前为SWT颜色对话框设置自定义颜色。)

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

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

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

问题:

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

1 个答案:

答案 0 :(得分:3)

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

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

我还有Eclipse 3.6(Helios),我可以使用“File-> Import-> Plug-in Development-> Plug-ins and Fragments”向导导入swt插件。我刚刚指定了eclipse 3.8目录,可以在我的工作区中导入它们。导入后,我当然可以将它们包含在运行时环境中。 Eclipse应该自动使用最新版本。