Eclipse 的 Java 编译器只是包装程序javac所围绕的同一个核心的包装器,还是完全是一个单独的编译器?如果是后者,他们为什么要重新发明轮子?
javac
Eclipse 已经实现了自己的编译器,称为Eclipse Compiler for Java (ECJ)。
它与 javac 不同,javac 是 Sun JDK 附带的编译器。一个显着的区别是 Eclipse 编译器允许您运行实际上没有正确编译的代码。如果出现错误的代码块从未运行,您的程序将运行良好。否则,它将抛出一个异常,表明您尝试运行无法编译的代码。
另一个区别是 Eclipse 编译器允许从 Eclipse IDE 中进行增量构建,也就是说,一旦您完成输入,所有代码就会被编译。
Eclipse 自带编译器这一事实也很明显,因为您可以在 Eclipse 中编写、编译和运行 Java 代码,甚至无需安装 Java SDK。
ECJ 优于 javac 的几个例子是: