当我将重写的子句添加到重写方法时,Maven生成无法编译的源代码

时间:2015-04-28 16:51:31

标签: java maven netbeans

这是第二次发生在我身上,导致得出的结论是Maven bug或因为我没有正确使用Maven而发生。

我创造了一个抽象类:

public abstract class A {
  public abstract void doSomething();
  //Non abstract methods follow
}

public class Aimpl extends A {
  @Override
  public void doSomething() {...};
}

后来我添加了线程,我需要doSomething来抛出InterruptedException。我将它添加到两个方法定义中:

public abstract class A {
  public abstract void doSomething() throws InterruptedException;
}

public class Aimpl extends A {
  @Override
  public void doSomething()  throws InterruptedException {...}
}

在Netbeans中运行后,我在输出中出现Uncompilable code错误。按下干净的构造后,它们就消失了。这应该发生什么?我不应该在NetBeans中配置某些东西来防止这个问题吗?

1 个答案:

答案 0 :(得分:0)

“编译保存”功能可能会对您起作用。 NetBeans将为您即时编译您的更改。如果你只是mvn install(没有干净)maven将不会编译任何东西,因为它认为类文件都很好。

可以禁用它(在项目的“属性”对话框中),但大部分时间它都有用且有效。