此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!
ant java 项目,执行到 proguard 阶段发生 StackOverflowError 错误,错误类似下面:
build.xml:339: java.lang.StackOverflowError
at proguard.classfile.ProgramClass.constantPoolEntryAccept(ProgramClass.java:465)
at proguard.shrink.UsageMarker.markConstant(UsageMarker.java:1079)
at proguard.shrink.UsageMarker.visitClassConstant(UsageMarker.java:499)
at proguard.shrink.ShortestUsageMarker.visitClassConstant(ShortestUsageMarker.java:36)
at proguard.classfile.constant.ClassConstant.accept(ClassConstant.java:91)
执行 ant xxx 之前,不妨设置环境变量 OPT_ANTS 应该就可以解决这个问题:
export ANT_OPTS='-Xms1024m -Xmx1024m -Xss64m'
你可以把这个设置添加到 .bashrc 里面。