我有一个单元测试,我已经静态定义了一个非常大的字节数组(超过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] ^
任何想法为什么以及如何避免这种情况?
答:Shimi的答案就行了.我将字节数组移到一个单独的类,它编译得很好.谢谢!
Java中的方法在字节码中限制为64k.静态初始化在单个方法中完成(请参阅链接)
您可以尝试从文件加载数组数据.