Eclipse愉快地为具有编译错误的Java类生成字节码。有问题的方法只是在运行时调用时抛出异常。
有没有人知道如何在编译错误出现时阻止Eclipse生成字节码?在出现错误的情况下,我宁愿没有可运行的代码。
例如,请考虑以下代码:
public class Err {
public static void main(String[] args) {
methodWithoutCompilationError();
// methodWithCompilationError();
}
private static void methodWithoutCompilationError() {
System.out.println("No error here, folks.");
}
private static void methodWithCompilationError() {
System.out.println("This method doesn't compile." + );
}
}
即使编译错误,它运行正常。只有当我取消注释main
的第二行时才会看到编译时出现问题。
答案 0 :(得分:1)
Eclipse执行此操作的原因是编译错误可能通过编辑另一个java源文件来解决。例如,如果对另一个类中的方法名称的引用拼写错误,则修复可能是您更正了引用的拼写,或者修复可能是您更改方法的名称。 Eclipse不知道您选择这样做,因此它会在您决定更改为其他文件时编译引用类。我甚至不确定它能否知道何时再次编译所有类。
因此,每当您更改源文件时,Eclipse都会尽可能地编译已编辑的java源。
答案 1 :(得分:0)
我猜你在某些时候启用了“如果项目包含错误则继续启动”选项。尝试将其设置为“提示”:
答案 2 :(得分:0)
尝试检查“将上述错误视为致命的编译错误(使编译的代码不可执行)”复选框。