IntelliJ 2018.2中添加了新检查,应从不稳定的API警告: https://youtrack.jetbrains.com/issue/IDEA-159541。
此警告针对番石榴的EventBus出现。为什么这是不稳定的API?
答案 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
。
答案 4 :(得分:0)
也许更好的问题是,为什么@Subscribed批注标记为@Beta?它已经存在了很长时间,而且似乎也不会很快消除它,尤其是因为很多人已经在使用它了。