我面临着一个非常愚蠢的问题。
如果我使用 Eclipse UI 构建项目,它可以正常构建并运行。但是,如果我使用普通的旧 javac
(即没有任何 ant
或 maven
构建工具)在命令行上构建它,我其中一个文件出现代码太大
错误(顺便说一句,该文件恰好是 Antlr3 生成的 Java 解析器文件)。
奇怪的是:
我的 Eclipse 项目指向我在命令行上使用的同一个 JDK!所以,我并不是无意中使用了内置的 Eclipse Java 编译器
如果解析器代码确实“太大”(其中的某些方法> 64K),为什么 Eclipse 构建不会导致相同的错误?正是由于这个原因,我也不愿意开始调整我的解析器语法 - 这是一项更复杂的任务。
我正在使用 Eclipse Neon 和 Oracle JDK 1.8。
最佳答案
Eclipse UI 始终使用 Eclipse Java 编译器,从不使用 javac。因此,在这种情况下,Eclipse 编译器可能做得更好。
安装的 JRE 用于测试时的库和 JVM。 Eclipse 总是使用自己的编译器,因为它需要进行增量编译,而 javac 无法做到。
关于java - Eclipse 构建成功,但命令行给出 'code too large' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43949410/