如何使用源导入org.eclipse.pde.internal?

时间:2012-05-15 09:33:02

标签: java eclipse eclipse-plugin package eclipse-pde

问题是,这个包及其子包在“import”包列表中看不到。当我导入所有pde包时,org.eclipse.pde.internal无论如何都会变得可用。但我没有看到它的来源。我该如何管理这个包?

2 个答案:

答案 0 :(得分:1)

以下是Eclipse社区的一些可能有所帮助的规则:

  1. 包名称应与插件名称匹配。如果他们不从右边剥离。您寻找的代码应该在插件org.eclipse.pde.internal中(不存在)。剥离internal并获得现有插件。

  2. OSGi允许从其他插件隐藏插件X中的包。此功能并未真正使用。您仍然可以导入类,但Eclipse不会在代码完成时显示它们,您将收到警告。 OSGi / bundle类加载器有一个选项可以抛出NoClassDefFoundError,但通常会禁用该选项。您可以在尝试导入的插件的MANIFEST.MF中找到导出列表。

    大多数未导出的软件包位于软件包internal下面,因此这是一个提示:不要使用此代码。它不是官方API的一部分。它可以在下一版本的Eclipse或插件中进行更改,如果您的代码中断,没有人会关心(与官方API不同)。

  3. 当然,世界并非那么简单。这就是为什么使用内部代码不受欢迎但是类加载器选项被禁用(= Eclipse可以强制执行此行为,但他们没有)。

    如果您认为某些内部API很适合使用,请在https://bugs.eclipse.org/bugs/

    提交错误报告

答案 1 :(得分:0)

我的同事解决了这个问题。

  1. org.eclipse.pde.internal位于org.eclipse.pde.ui

  2. Eclipse 3.7.2根本没有PDE源。存储库中的适当目录为空。我降低到3.7.0现在没关系。