我面临一个非常愚蠢的问题。
如果我使用Eclipse UI构建我的项目,它会构建并运行良好。但是,如果我使用普通的javac
(即没有任何ant
或maven
构建工具)在命令行上构建它,我会收到code too large
错误其中一个文件(顺便说一下,它恰好是Antlr3生成的Java解析器文件)。
奇怪的是:
我的Eclipse项目指向我在命令行中使用的相同JDK!因此,我不会无意中使用内置的Eclipse Java编译器
如果解析器代码真的太大而且#39; (其中的一些方法是> 64K),为什么Eclipse构建不会导致相同的错误?出于这个原因,我也不愿意开始调整我的解析器语法 - 这是一个更复杂的任务。
我正在使用Eclipse Neon和Oracle JDK 1.8。
答案 0 :(得分:3)
Eclipse UI始终使用Eclipse Java编译器,它从不使用javac。因此,在这种情况下,Eclipse编译器可能会做得更好。
在测试时,已安装的JRE用于库和JVM。 Eclipse总是使用自己的编译器,因为它需要进行javac无法进行的增量编译。