You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I use Janino to compile a generated Java code which has a large number of lines of code,
##################################
ClassBodyEvaluator evaluator = new ClassBodyEvaluator();
.....
evaluator.cook(codeFile, codeBody);
##################################
I got this compilation error at runtime:
Caused by: org.codehaus.commons.compiler.InternalCompilerException: Compiling “myTestCode” in File '/tmp/myTestCode.java', Line 1, Column 1: File '/tmp/myTestCode.java', Line 8559, Column 265: Compiling "myTestCode(param1, param2, param3, param4)”: File '/tmp/myTestCode.java', Line 8653, Column 5: org.codehaus.commons.compiler.InternalCompilerException: File '/tmp/myTestCode.java', Line 8653, Column 5: Compiling "init()": Constant pool for class myTestCode has grown past JVM limit of 0xFFFF
Could you help me understand what this exception means?
Thanks,
The text was updated successfully, but these errors were encountered:
In case you're wondering what fills your constant pool, you could set a breakpoint where the exception is thrown and inspect the constant pool.
There are many different constant pool entry types (not only string literals), and you might be able to develop strategies to change your code generation such that you avoid sonstant pool bloat.
I use Janino to compile a generated Java code which has a large number of lines of code,
##################################
ClassBodyEvaluator evaluator = new ClassBodyEvaluator();
.....
evaluator.cook(codeFile, codeBody);
##################################
I got this compilation error at runtime:
Caused by: org.codehaus.commons.compiler.InternalCompilerException: Compiling “myTestCode” in File '/tmp/myTestCode.java', Line 1, Column 1: File '/tmp/myTestCode.java', Line 8559, Column 265: Compiling "myTestCode(param1, param2, param3, param4)”: File '/tmp/myTestCode.java', Line 8653, Column 5: org.codehaus.commons.compiler.InternalCompilerException: File '/tmp/myTestCode.java', Line 8653, Column 5: Compiling "init()": Constant pool for class myTestCode has grown past JVM limit of 0xFFFF
Could you help me understand what this exception means?
Thanks,
The text was updated successfully, but these errors were encountered: