不鼓励访问Eclipse库

时间:2014-09-22 09:30:48

标签: java eclipse eclipse-plugin eclipse-rcp

我在两个库中收到以下警告:

import org.eclipse.ui.internal.Workbench;

Discouraged acces: The type Workbench is not accessible due to restriction on required library org.eclipse.ui.workbench_3.8.0

at

import org.eclipse.jdt.internal.core.PackageFragmentRoot;

Discouraged acces: The type PackageFragmentRoot is not accessible due to restriction on required library org.eclipse.jdt.core_3.8.1

造成这种情况的原因是什么?如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您收到这些错误是因为您要导入标记为内部的包;

import org.eclipse.ui.**internal**.Workbench

这表明它们不打算从外部使用,实施可能会在没有任何通知的情况下彻底改变,这可能会导致您的应用程序失败。如果该功能旨在可供其他人使用,则通常会有一个可以使用的公共可用API。

您的选择是;

  • 查看是否有更好的包用于外部使用。
  • 忽略警告并继续使用它们。

通常我会强烈鼓励选项1,甚至不建议选项2,但Eclipse有时会如何定义内部包有点奇怪。我曾几次被迫使用内部包裹。

在您的情况下看起来org.eclipse.ui.IWorkbenchorg.eclipse.jdt.core.IPackageFragmentRoot应该更合适。