【问题标题】:Suppress warning “Access to field exceeds its access rights” in Groovy在 Groovy 中抑制警告“对字段的访问超出其访问权限”
【发布时间】:2019-09-30 08:18:48
【问题描述】:

我编写了一个 Groovy 脚本,我需要访问一个具有私有访问修饰符的字段。这工作正常,但会产生警告:

Access to <field_name> exceeds its access rights

我想取消这个警告。我必须使用@SuppressWarnings 注释的什么值才能实现它?

我已经尝试过@SuppressWarnings("all"),它工作正常,但我希望对抑制进行更精细的控制。我也试过@SuppressWarnings("AccessingNonPublicFieldOfAnotherObject"),但是没有效果。

此警告在 IntelliJ 中的外观如下:

不幸的是,自动提示没有提出任何明智的解决方案:

【问题讨论】:

  • 您在哪里看到该警告?在编译器命令行上?如果是这样,您使用的是哪个编译器+版本,您是如何调用编译器的?还是在诸如 IntelliJ IDEA 之类的 IDE 中显示警告?请更具体。 MCVE 也将不胜感激。

标签: groovy spock access-modifiers suppress-warnings


【解决方案1】:

如果您在谈论 IntelliJ 警告:

然后您可以按 Alt+Enter 在违规者上并选择“Suppress for method”,如下所示:

之后你会在你的测试方法上看到@SuppressWarnings("GroovyAccessibility")

【讨论】:

  • 大声笑,同样的时间,同样的假设——见我的评论。这也是我问的原因。
  • @kriegaex 是的,我明白了 :)
  • 谢谢,@SuppressWarnings("GroovyAccessibility") 完成了这项工作!你知道为什么我没有和你一样的提示吗?我有 IntelliJ Ultimate 2019.1
  • @k13i 很可能,“访问不可访问元素”检查被禁用。尝试按照IntelliJ Help 启用它。我可以通过取消选中此检查来重现您的情况
猜你喜欢
  • 2021-10-04
  • 2014-09-04
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多