我需要在运行时从 jar 文件中读取 Manifest 文件。
代码:
JarFile someJar = new JarFile(jarFile);
manifest = someJar.getManifest();
但是,有时上面的代码会抛出 OutOfMemoryError 异常:
java.lang.OutOfMemoryError
at java.util.zip.Inflater.init(Native Method)
at java.util.zip.Inflater.<init>(Inflater.java:83)
at java.util.zip.ZipFile.getInflater(ZipFile.java:278)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:224)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:192)
at java.util.jar.JarFile.getBytes(JarFile.java:361)
有时可以告诉我如何避免这种异常(也许是在运行时获取清单的另一种方法)?
顺便说一句,我无权更改 Java 堆大小。