3

有没有办法设置 Eclipse 报告编译错误与 javac 相同?

我偶然发现了一些在 eclipse 中工作的情况,并且不能用 javac 编译。我知道 eclipse 使用 ECJ 并且无法更改,但是可以在任何地方设置无法使用 javac 编译的所有内容都是 Eclipse 中的编译错误吗?(因为在 Eclipse 中很少有东西可以编译错误,即使它们没问题)

示例从@SuiteClasses({A.class,B.class,})(最后一个逗号是问题)到我完全不理解的微妙的通用问题。

4

4 回答 4

2

Eclipse 通过Java Builder使用 ECJ 进行编译,该Java Builder负责编译和索引所有 Java 源文件,以使增量编译更容易(更容易报告错误),除了帮助重构和搜索操作。

ECJ 恰好是 Java 构建器使用的默认且唯一的编译器;无法配置使用的编译器。一个人无法改变它。但是,您可以尝试添加自己的构建器,该构建器使用依赖于 Sun JDK 的 javac 编译器的 Ant 构建脚本。

于 2009-09-23T18:37:55.617 回答
1

您可以使 Eclipse 构建使用 ant,而后者又将使用 javac。

于 2009-09-23T16:46:16.420 回答
0

Eclipse Compiler for Java (ECJ) 和 Javac 都基于 Java 语言规范 (JLS),因此应该报告相同的错误。

但是,在某些情况下,行为会有所不同。有时原因是任何大型软件中的错误,有时 JLS 有点模棱两可,导致两个编译器对它的解释略有不同。有时 ECJ 有问题,有时 Javac 有问题。

于 2011-05-15T02:09:38.947 回答
0

如果需要,您可以将 Eclipse 首选项更改为更具限制性javac的等效项。这将为您在编译时定义的内容产生警告或错误——您甚至可以为所有内容定义错误/警告!

于 2013-01-16T22:56:50.463 回答