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

Eclipse plugin 强制Eclipse(Helios)在应用程序运行时使用更新版本的SWT,eclipse-plugin,swt,eclipse-rcp,helios,Eclipse Plugin,Swt,Eclipse Rcp,Helios,我正在使用EclipseHelios开发一个RCP项目 安装的SWT版本(在插件目录中)是[org.eclipse.SWT-win32-3.6.2,&org.eclipse.SWT.jar] 我需要仅从swt-3.8提供的新API功能。(具体来说,我希望在打开SWT颜色对话框之前设置自定义颜色。) 我已经从SWT/Eclipse下载站点[]下载了3.8.1 SWT下载不是插件(几个jar、src.zip和一些自述文件),因此我无法将其添加到我的“目标平台”(即使在“位置”中添加了包含目录,它也

我正在使用EclipseHelios开发一个RCP项目

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

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

我已经从SWT/Eclipse下载站点[]下载了3.8.1

  • SWT下载不是插件(几个jar、src.zip和一些自述文件),因此我无法将其添加到我的“目标平台”(即使在“位置”中添加了包含目录,它也不会显示为可用的jar)
  • 我找不到SWT的更新站点(或任何可以获得更新版本插件的站点)
如果我将swt.3.8.jar添加到我的类路径中(然后在项目构建路径中增加它的顺序优先级),我就能够从代码中访问较新的api功能(以及查看源代码)。 然而,当我运行应用程序时,似乎运行时仍在使用旧的SWT jar,因为我在尝试访问新功能时遇到未知方法错误

问题:

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

  • 提前感谢。

    SWT可以作为单独的插件下载到这里:

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


    我还有Eclipse3.6(Helios),我能够使用“文件->导入->插件开发->插件和片段”向导导入swt插件。我刚刚指定了Eclipse3.8目录,可以在我的工作区中导入它们。一旦导入,我当然可以将它们包含在运行时环境中。Eclipse应该自动使用最新版本。

    如果我下载just win32 SWT包(SWT-3.8-win32-win32-x86.zip),然后使用您描述的方法,Eclipse在下载的文件/目录中找不到插件。仅仅为了使用一个库就必须安装一个全新的eclipse版本,这似乎有些过分(为什么不使用新下载的eclipse版本呢?)。必须有一种更简单的方法来实现这一点?好的,如果您单独从上面的链接下载SWT,它已经是一个eclipse项目,您可以使用常规导入向导导入它。我下载并解压缩到一个目录中,使用
    文件->导入->常规->现有项目到工作区
    向导直接导入项目。另一种解决方案适用于已经存在完整的Eclipse3.8的情况。。。该项目不是一个插件。这是一个常规的Java项目。好的,试试这个,导入后右键单击项目,然后选择
    Configure->Convert to Plug-in Projects…
    ,这将使它成为一个插件。一旦你有了这个插件,你就可以修复这个版本(3.8),并且可以用它来替代目标环境中的SWT。让我知道这是否有效,或者我们可以尝试其他方法。奇怪的是,这个项目还不是一个插件。谢谢你的帮助。我们快到了。如果我导入并转换您描述的项目。然后,我将清单版本更新为3.8.1。这将删除脚本编辑器中的所有错误(表示eclipse编辑器正在引用较新的版本)。但是,当我运行它时,我看到了与以前相同的问题,NoSuchMethodError。我看不到任何方法可以用新的3.8.1版本替换我“目标平台”中的旧SWT。我也不能将它添加到plugin.xml中(不确定这是否有用,因为我目前无法看到SWT)。有什么想法吗?好的。这就是我最后要做的。下载Juno,将三个swt插件JAR[swt,source,win32]从Juno/pugins复制到Helios安装[Helios eclipse/dropins/swt]下的文件夹中。打开helios:窗口->首选项->插件开发->目标平台。在“位置”选项卡上,从目录添加新插件。浏览到新的swt文件夹,并添加所有三个JAR。在内容选项卡上,取消选择“旧”swt插件,然后选择“新”插件。重建。一切都能正确编译和运行。这看起来比必要的要复杂一点,但它奏效了。