不支持ECommandService访问

时间:2014-03-23 10:54:15

标签: java osgi eclipse-rcp e4

我试图将ECommandService注入我的应用程序的一部分,并且我已经添加了插件 org.eclipse.e4.core.commands; bundle-version =" 0.10.2" 到我的应用程序的依赖项(plugin.xml),但是当我声明

@Inject private ECommandService commandService;

我收到警告说:

Discouraged access: The type ECommandService is not accessible due to 
restriction on required library C:\Data\andrelop\transnet\eclipse-
kepler\plugins\org.eclipse.e4.core.commands_0.10.2.v20130515-1857.jar

这是正常还是我添加了错误的依赖?

1 个答案:

答案 0 :(得分:2)

这对于许多e4 API来说都是正常的。这些API尚未最终确定,因此不会让他们感到气馁。 - 但您必须将它们用于e4应用程序。它们有可能在将来的Eclipse版本中发生变化。

您可以在Preferences > Java > Compiler > Errors/Warning部分更改Deprecated and restricted APIDiscouraged reference (access rules)的{​​{1}}中关闭警告。或者您可以在课堂上使用ignore

Eclipse bug 412373将列出将在Eclipse 4.4(Luna)中最终确定的API,但目前它是空的。当4.3发布时,一些e4 API已经完成。