【发布时间】:2008-10-28 12:30:13
【问题描述】:
我有一个单元测试,其中我静态定义了一个非常大的字节数组(超过 8000 个字节)作为我不想在每次运行单元测试时读取的文件的字节数据。
private static final byte[] FILE_DATA = new byte[] {
12,-2,123,................
}
这在 Eclipse 中编译得很好,但是通过 Ant 脚本编译时出现以下错误:
[javac] C:\workspace\CCUnitTest\src\UnitTest.java:72: code too large
[javac] private static final byte[] FILE_DATA = new byte[] {
[javac] ^
任何想法为什么以及如何避免这种情况?
Answer:Shimi 的回答成功了。我将字节数组移到一个单独的类中,它编译得很好。谢谢!
【问题讨论】:
-
那么为什么它在 Eclipse 中可以工作??
-
我知道 Eclipse 使用的编译器与 Javac 不同。也许这可以解释它。
-
啊,是的,我忘记了。我在 JDK 之前安装了 Eclipse 一次,却发现它已编译——那时我发现它内置了自己的编译器。
-
我刚刚解决了这个问题,将我的数据初始化拆分为 120 种不同的静态方法。
-
@paxdiablo Eclipse 使用 ECJ
标签: java compiler-construction ant