2

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

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

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

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

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

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

问题:

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

提前致谢。

4

1 回答 1

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),我能够使用“文件->导入->插件开发->插件和片段”向导导入 swt 插件。我刚刚指定了 eclipse 3.8 目录并可以将它们导入我的工作区。一旦导入,我当然可以将它们包含在运行时环境中。Eclipse 应该自动使用最新版本。

于 2012-12-07T12:24:25.637 回答