如何将源代码位置附加到Eclipse RCP目标平台中的插件?

时间:2008-10-27 19:29:29

标签: eclipse eclipse-pde eclipse-3.4

我有一个包含多个RCP插件项目的工作区。

我们已经设置了目标平台,因此我们可以针对一组标准插件进行构建,但是无法查看所有平台插件的源代码和Javadoc。

Windows - >偏好 - >插件开发 - >目标平台 - >添加eclipse目录时,源代码位置页面似乎没有任何效果(它只允许您添加目录)。

将源jar从eclipse目录复制到目标平台也有类似的效果。

我做错了什么?如何将一组Source jar附加到我的目标平台?

4 个答案:

答案 0 :(得分:12)

我今天遇到了同样的问题。在我的情况下,我想调试嵌入式jetty(org.mortbay.jetty_5.1.14.v200806031611.jar)的源代码,它是Eclipse Equinox(OSGI)附带的,它是我的eclipse目标平台的一部分。

当调试并希望进入jetty包中的任何类时,我总是得到消息,它是来自Plugin-Dependencies的类,并且源附件无法修改。

我解决了这个问题:

  1. 切换到Eclipse中的插件视图(窗口/显示视图/插件
  2. 找到包org.mortbay.jetty
  3. 右键点击该捆绑并选择“导入为” - > “包含链接内容的二进制项目”
  4. 现在Bundle在你的Package Explorer中显示为一个新的Eclipse项目,在我的例子中是 org.mortbay.jetty

    现在右键单击包资源管理器中的新项目,然后转到“属性/ Java构建路径/库”。您可以在那里看到jetty jar文件,如果展开此条目,您可以像往常一样编辑“Source Attachment”。我把它指向下载的Jetty源代码,该代码位于一个完全不同的文件夹中,而不是我用于我的项目的目标平台。

答案 1 :(得分:3)

如果在构建目标平台时使用Eclipse SDK 捆绑包,则应立即为每个Eclipse插件提供“Java源附件”和“Javadoc位置”。 例如,我使用“Eclipse Platform SDK”(eclipse-platform-SDK-3.4.2-win32)作为目标空间,当我显示您提到的“源代码位置页面”时,它填充了“在目标平台“。在Eclise IDE中,我可以看到Eclipse核心插件的源代码和javadoc(例如在JFace包中)。

另外,添加插件源代码位置并不容易,但您可以通过两种方式取得成功:

  • 提供“源插件”(插件提供商也提供源插件的最简单方法)到目标平台,作为普通插件(PDE会识别它)
  • 提供额外的源位置(不是简单的方法......)

您可以在Eclipse帮助中找到有关目标源代码位置的更多信息,在以下主题中: 插件开发环境指南>工具>偏好>目标平台首选项>源代码位置

答案 2 :(得分:1)

如果您从主下载页面下载“Eclipse for RCP和RAP Developers”构建,则可以使用所有源代码。至少,这就是它所谓的Juno构建,它曾被称为Eclipse for RCP/Plug-in Developers

看起来插件源代码看起来不再是标准的Java / J2ee Eclipse构建了。我假设源可以通过更新机制获得,但无法找到正确的更新站点/功能。如果有人知道,请发表评论。

答案 3 :(得分:0)

我可以使用-install运行时选项在运行时修改目标平台。将targetPlatform保留为eclipse平台。

然而,这首先失去了使用目标平台的许多好处 - 即编译时的安全性。