为什么在IntelliJ 2018.2中将Guava的EventBus标记为不稳定?

时间:2018-08-20 08:23:04

标签: java intellij-idea

IntelliJ 2018.2中添加了新检查,应从不稳定的API警告: https://youtrack.jetbrains.com/issue/IDEA-159541

此警告针对番石榴的EventBus出现。为什么这是不稳定的API?

5 个答案:

答案 0 :(得分:28)

因为the EventBus class被标注为@Beta

您必须问Guava项目维护者,为什么存在针对16个版本的Guava的类仍然是Beta,但仍然是Beta。

答案 1 :(得分:3)

您还可以要求IntelliJ取消对@Beta带注释类的定义的警告,如下所示:

@SuppressWarnings("UnstableApiUsage")
static RateLimiter API_RATE_LIMITER = RateLimiter.create(8);

当您仍然可以使用该类(并且不会遇到问题)时,在特定情况下,这可以正确处理警告。

答案 2 :(得分:1)

EventBus类带有@com.google.common.annotations.Beta注释。因此,我认为检查是由此引发的。参见:https://google.github.io/guava/releases/22.0/api/docs/com/google/common/eventbus/EventBus.html

答案 3 :(得分:1)

除了@JB Nizet的答案以外,它完美地解释了为什么IntelliJ标记此错误,您可能还想在全球范围内抑制,但仅使用Google Beta注释

只需按照下面的图片转到Settings -> Inspections -> JVM languages,然后根据需要删除com.google.common.anotations.Beta

how to disable IntelliJ's Google Beta annotation

答案 4 :(得分:0)

也许更好的问题是,为什么@Subscribed批注标记为@Beta?它已经存在了很长时间,而且似乎也不会很快消除它,尤其是因为很多人已经在使用它了。