Java NoSuchMethodError in enum



我刚刚为枚举添加了一个方法。每当调用该方法时,都会得到NoSuchMethodError:

public enum PHASE {
  PHASE1,
  PHASE2(false),
  PHASE3;
  private boolean present = true;
  PHASE() {
  }
  PHASE(boolean present) {
    this.present = present;
  }
  public boolean isPresent() {
    return this.present;
  }
}
public void foo(PHASE phase) {
  if (phase.isPresent()) {
...

这里阶段。isPresent在clean/build之后抛出NoSuchMethodError。我错过了什么?

,

更新:Netbeans有两个缓存文件夹。一个是空的,另一个不是。这是我的错,显然我没有在缓存问题上投入足够的精力。遗憾的是,我不能否决我自己的问题

这可能是编译时类路径和运行时类路径之间的问题。运行时使用的类/jar文件与编译时使用的不一样。

这可能是Netbeans特有的问题。特别是如果你使用"编译保存选项",并且有一个有很多依赖项的大项目。

我几乎每天都有一个非常类似的问题(基于maven的)项目,并使用上面的链接找到了解决方案。最好说是溶液的变化。试试这样:

  • 在保存时禁用编译
  • 关闭有问题的项目
  • 关闭netbeans
  • <
  • 清楚缓存/gh>
  • 打开netbeans和clean&build

请反馈。

相关内容

  • 没有找到相关文章

最新更新