Java Eclipse编译问题

Java Eclipse编译问题,java,eclipse,compilation,compiler-errors,Java,Eclipse,Compilation,Compiler Errors,有没有办法将Eclipse报告编译错误设置为与javac相同的错误 我偶然发现了一些在eclipse中工作的东西无法用javac编译的情况。我知道eclipse使用ECJ,这是不能更改的,但是可以在任何地方设置所有不能用javac编译的东西都是eclipse中的编译错误吗?(因为在Eclipse中,即使没有问题,也很少会出现编译错误) 例如从@SuiteClasses({A.class,B.class,})(最后一个逗号是问题),到我完全不理解的微妙的一般性问题。您可以让eclipse构建使用a

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

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


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

您可以让eclipse构建使用ant,这将反过来使用javac。

Eclipse通过负责编译和索引所有Java源文件的来使用ECJ进行编译,以使增量编译更容易(更容易报告错误),同时还可以帮助重构和搜索操作


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

Eclipse编译器for Java(ECJ)和javac都基于Java语言规范(JLS),因此应该报告相同的错误


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

如果您愿意,您可以使用更严格的
Javac
-esque等价物。这将为编译时定义的内容生成警告或错误——您甚至可以为所有内容定义错误/警告

我知道Eclipse使用ECJ,但我没有意识到它可以编译什么和不能编译什么与Sun的实现有区别。我认为必须遵循一些标准或规范。是的,我遇到过与OP类似的问题。经验法则是Eclipse比javac/ant更宽容。因此,将编译代码提交到CVS可能会导致continuous integration server在编译时失败。您能否解释如何将eclipse更改为使用ant构建脚本,或者提供一些与之相关的链接?