Enum code too large 64k limit

While compiling with JDK1.5 received a "code too large" error when trying to compile an enum. Apparently the 64k limit is imposed on the new enum spec.
This restriction doesn't allow for enums with a large set of values which is impractical at best.
Has anyone else encountered this problem and received any response from Sun?

Sorry I should further explain the "impractical" meaning.
Consider the example code:
public enum MyEnum
FIRST( 1, "One" ),
SECOND( 2, "Two" ),
THIRD( 3, "Three" );
private final Integer value;
private final String label;
private MyEnum( final Integer value, final String label )
this.value = value;
this.label = label;
public Integer getValue()
return this.value;
public String getLabel()
return this.label;
The "impractical" part comes in where I'm limited by the enum constant statement string of 64k. So, if I have several enums with even modest lengthed labels I'm stuck. I currently am able to implement this in JDK 1.4 using typesafe enum pattern. I would like to implement the same way using enums in JDK 1.5.

Similar Messages

  • Code too large error

    Hi,
    I have an enum with about 3000 values in application. When I add some more items I get "code too large" error during compilation.
    Is there any workaround for that problem? (Some configuration change?)
    What exactly does compiler want to say? Where can I find info about what limit do I exceed?
    I will appreciate any kind of help :)
    Greetings
    Michal

    what can you kno? Model of the form is not hardcoded, it is in DB, it is modifiable by user(admin). Only elements which have specific business validation have identifier (i mean enum identifier). They must be somehow identified, not just by number. Number may change if sone adds a question before this one.
    What's better than that? The solution has been made before I came to the company, but I believe it is one of the best possible.

  • JSP compilation: code too large on SP14

    Hello,
    I developed EP application based on JSPDynPage on SP13 with big jsp file. This application was running on SP13 without problem.
    Later, we upgraded to SP14 and application logged exception: "code too large" when compiling jsp.
    I tried to devide the big jsp to several jsp, but problems remains the same.
    I searched SDN. I tried set jsp.bigmode.delimit.size to 10000, 20000 and 1. Nothing helps.
    I followed OSS Note:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/bc-jas/~form/handler{5f4150503d3030323030363832353030303030303031393732265f4556454e543d444953504c4159265f4e4e554d3d383230323832}
    Best regards,
    Josef Motl

    Hi Detlev,
    the OSS number is 820282. But I was unable to wiew this message on http://service.sap.com. So below I put snapshot of this message.
    Regards,
    Josef
    Portal JSP compiler fails when code generated is too long
    SAP Note Number: 820282
    Symptom
    In a few cases, the compilation of jsp files fails (if their size is very large) because the generated Java code exceeds the 65K limitation (per method) of SUN JVM or the system crashes when it tries to load a class file that was not correctly constructed (method size > 65K).
    Other terms
    JSP, Portal, too long, compilation, compiler, over size, try
    Reason and Prerequisites
    SUN JVM and othes do not support a method which has more than 65K of byte code.
    Solution
    The fix is available in +SP2 PL 31 and +EP6 SP11 Patch 2.
    Once you have installed the fix, you need to edit the file irj\root\WEB-INF\portal\system\properties\prtCentral.properties.bak.
    Check if the property "jsp.bigmode.delimit.size" is present. Otherwise add the line "jsp.bigmode.delimit.size=10000", rename the file to "prtCentral.properties" and restart the server.
    The number is the limit size in bytes when the big jsp mode is enabled (you should therefore change the Java template generated from the jsp file to a size larger than the limit)
    In rear cases where JSP files are including sources prior to their compilation you should set the parameter to a lower value. In the extreme case you can use jsp.bigmode.delimit.size=1 and enable the big mode jsp optimization for all files.
    To deactive the big jsp mode, set jsp.bigmode.delimit.size=-1
    Header Data
    Release Status         Released for Customer
    Released on            21.07.2005
    Priority               Correction with medium priority
    Category               Advance development
    Primary Component      BC-JAS-PIN-PRT Portal Runtime

  • Error: code too large for try statement, when compiling a big java file.

    Hi,
    I have a big java file ( around 16000 lines). When compiling it, I got following error message:
    MyMain.java:15233: code too large for try statement
    } catch ( Throwable t ) {
    In MyMain.java, I just repeat following statements about 1000 times.
    try {
    if ( year >= 2002 ) {
    System.out.println( "year: Evaluation version is not valid" );
    } else {
    System.out.println( "year: Evaluation version is still valid" );
    } catch ( Throwable t ) {
    if ( year >= 2002 ) {
    System.out.println( "year: Evaluation version is not valid" );
    } else {
    System.out.println( "year: Evaluation version is still valid" );
    I tried 1.3 and 1.4 javac compiler, there was some error.
    How to make compiler to compile this code?
    Thanks,

    Hi,
    I have a big java file ( around 16000 lines). When
    compiling it, I got following error message:
    MyMain.java:15233: code too large for try statement
    } catch ( Throwable t ) {
    I tried 1.3 and 1.4 javac compiler, there was some
    error.
    How to make compiler to compile this code?
    You don't. Each method has an absolute limit on the number of byte codes. You have reached that limit. The limit is part of the specification and JVMs will refuse to run classes that exceed the limit. So even if you could compile it, it wouldn't run.
    It is quite common for code generators to generate large monolithic blocks of code. Presumably this is how you got to this spot. Modify the code generator to break it into smaller blocks.
    If you did it manually then you did it wrong. And you will have to manually break it into smaller blocks. (And re-examine your design since it is probably wrong.)

  • Oracle JSP Exception code too large for try block

    My jsp is exceeding the memory limit (64KB for Oracle 10g App server i think its the JVM limit),
    so it is throwing exception ,code too large for try block,how to over come this,I cant minimize the use of logic tags because it is business requirement.please help me out.

    I think you need to give a value to the attribute buffer in the <%@ page%> directive to solve the problem.
    There will not be any need of going for pagination then.
    buffer="none | 8kb | sizekb"The buffer size in kilobytes used by the out object to handle output sent from the compiled JSP page to the client Web browser. The default value is 8kb. If you specify a buffer size, the output is buffered with at least the size you specified.
    check the documentation at
    http://java.sun.com/products/jsp/tags/11/syntaxref11.fm7.html
    Uday

  • Jdeveloper Error: "Code too large"

    Hi all,
    While running a page in Oracle Jdeveloper 10g, I am getting compilation error “Code too large” on ‘processformrequest’ in controller. I tried the below steps from metalink, but I am still getting the error message.
    1.     Try to compile your page with the standard "javac" Java compiler instead of the "ojc" Java
    compiler, as it generates methods a bit smaller.
    2.     Change the compiler used by the Embedded OC4J:
    2.1) Go to "Tools" -> "Embedded OC4J Server Preferences..."
    2.2) Under "Global" select "Java Compiler"
    2.3) Select "javac" from the "Compiler" list
    2.4) Then under "Bin Directory", point to the location of the javac compiler
    (usually in the JDK bin directory).
    Please let me know if there is any way to resolve this error.
    Thanks in Advance,
    Saravana

    Hi Saravana,
    Please post this in OAF forum(OA Framework
    ~Vikram
    Edited by: Vikram K on Jul 27, 2009 11:00 AM

  • 500 Internal Server Error OracleJSP: code too large for try statement catch

    We have an application which uses JSPs as front end and we are using Struts 1.1. When we run one of the JSP it shows the following error after executing .We are using OCJ4 server having version 9.0.4.0
    500 Internal Server Error
    OracleJSP: oracle.jsp.provider.JspCompileException:
    Errors compiling:E:\oracle\product\10.1.0\AS904\j2ee\home\application-deployments\VAS3006\vas\persistence\_pages\\_Requirement .java
    code too large for try statement catch( Throwable e) { 
    7194
    code too large for try statement catch( Exception clearException) { 
    44
    code too large for try statement try { 
    23
    code too large public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { 
    The JSP/application runs okay on one machine (System Tesing machine)with OCJ4 server having version10.1.2.0 but throughs an error on other machine( Development machine)with OCJ4 server having version9.0.4.0.The question is why it is running on one machine ane giving error on other machine I am aware that there can't be more than 64kB of code between try-catch block .Total size of the generated JSP class in our case is 577KB.
    Is the problem because of different version of Application server OC4J?.Is it any fix for this? Or Can anyone please suggest a work around. Or is there a method by which the JSP generated code is split between different try - catch blocks rather than a single try-catch block.Utlimately We don't know the whether is it a problem with JVM or hardware .
    It would be really helpful if you would provide me with some suggestion and input.
    Regards
    Shyam

    Sir,
    I am aware of the limitations of JVM that it won't allow java code more than 64Kb in method but we are using different versions of Application server .Application is working okay with OC4J application server(10.1.2.0) but gives error on Application server with version 9.0.4.0. Is this a problem with OC4J application server 9.0.4.0. I had gone through the documentation ofOC4J 9.0.4.0.application server but it does not mention about the this bug/fixes.
    Please giude me on the same.
    Regards,Shyam

  • Error in jsp:Code too large for try statement

    Hi friends,
    When i try to run a jsp program i am getting error "code too large for try statement". How can i rectify it rather than truncating that jsp? is there another way?
                                                  Basha

    Basha,
    When we were implenting an e-form component which was very big, the only way we were able to achieve it was by
    "jsp includes". In the main form simply included muliple
    jsp pages, where each was a section of the e-form.
    we have not found any other better way.
    Hope this helps.
    -Venkat Malempati
    Message was edited by: Venkat Malempati
    Message was edited by: Venkat Malempati

  • Code too large for try statement

    I have a jsp that I am getting the following exception on.
    [ServletException in:/jsp/DLG_PTEN.jsp] Unable to compile class for JSP C:\Documents and Settings\ebsgam\My Documents\IBM\wsappdev51\workspace\StnWeb\.metadata\.plugins\com.ibm.etools.server.core\tmp0\cache\localhost\server1\DefaultEAR\StnWeb.war\jsp\_DLG_5F_PTEN.java:13576: code too large for try statement } catch (Throwable t) { ^ C:\Documents and Settings\ebsgam\My Documents\IBM\wsappdev51\workspace\StnWeb\.metadata\.plugins\com.ibm.etools.server.core\tmp0\cache\localhost\server1\DefaultEAR\StnWeb.war\jsp\_DLG_5F_PTEN.java:1165: code too large for try statement try { ^ 2 errors '
    I am currently running this on Websphere Aplication Developer 5. First off I'm hoping that this error will go away when it is deployed to tomcat. But I wanted to see if anyone has had this problem and knows of a tweek or work around for it.
    The jsp in question is not the longest one I have... but it has a large number of drop down list boxes .. using jstl <select><option>. and the drop downs have around 40 or 50 items in them.

    in weblogic 8.1, i've met the same error, and solved the problem by adding param to weblogic.xml , like below:
      <jsp-descriptor>
         <jsp-param>
              <param-name>noTryBlocks</param-name>
              <param-value>true</param-value>
         </jsp-param>
      </jsp-descriptor>

  • Code too large for try statement - help :(

    Please help :(
              We are migrating our project from an older technology, Kiva from netscape
              (and about time we migrate) . Kiva uses template evaluation similar to
              jakarta velocity. So the fastest way we found was to translate kiva
              templates to JSPs via perl script. All is working fine except a bunch of
              JSPs which are too large for the compiler to handle. If we were not
              migrating and instead wroking from scratch we would have simply made the
              JSP's size smaller and used jsp:include, but in this case it will involve a
              lot of effort as that means changing a lot of business code.
              Basically what we get is "code too large for try statement". Is there anyway
              we can tell weblogic to put smaller code fragments in try/catch when it
              converts a JSP into java code.
              

              Haider,
              Have you seen the following Sun Bug Parade posting
              http://developer.java.sun.com/developer/bugParade/bugs/4210912.html
              Additionally, you may want to try the '-noTryBlocks' jsp compiler switch and see
              if it makes a difference
              See the following 6.1 URL
              http://edocs.bea.com/wls/docs61/jsp/reference.html#57805
              Chuck Nelson
              DRE
              BEA Technical Support
              

  • Code too large

    Hi,
    I did a search on this in some forums here and I realize that I have too much code in my BIG class.
    Right now I have one huge class which has pretty much everything in it. I have fragmented my code within this class, with multiple subclasses and many small methods as I realize this is the idea behind OOP. However, I never really thought about breaking up this one class that everything is inside of.
    So I have a couple of questions...
    1) I have level layouts that look like the following:
            // LEVEL 6
            char [][] Level_6_Board =
    //        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29       
    /* 0 */ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 1 */ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 2 */ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','G','e'},
    /* 3 */ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 4 */ {'e','e','e','e','e','e','e','e','e','e','e','W','W','W','W','W','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 5 */ {'e','e','e','e','e','e','e','e','e','e','e','W','e','e','e','W','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 6 */ {'e','e','e','e','e','e','e','e','e','e','e','W','e','R','e','W','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 7 */ {'e','e','e','e','e','e','e','e','e','e','e','W','W','e','W','W','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 8 */ {'e','e','e','e','e','W','W','W','W','e','e','e','W','e','W','e','e','e','W','W','W','W','e','e','e','e','e','e','e','e'},
    /* 9 */ {'e','e','e','e','e','W','e','e','W','W','W','W','W','e','W','W','W','W','W','e','e','W','e','e','e','e','e','e','e','e'},
    /* 10*/ {'e','e','e','e','e','W','e','e','e','e','e','R','e','e','e','R','e','e','e','e','e','W','e','e','e','e','e','e','e','e'},
    /* 11*/ {'e','e','e','e','e','W','e','e','e','W','W','W','W','W','W','W','W','W','e','e','e','W','e','e','e','e','e','e','e','e'},
    /* 12*/ {'e','e','e','e','e','W','W','W','e','W','e','e','e','e','e','e','e','W','e','W','W','W','e','e','e','e','e','e','e','e'},
    /* 13*/ {'e','e','e','e','e','e','e','W','e','W','W','e','e','M','e','e','W','W','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 14*/ {'e','e','e','e','e','e','e','W','e','W','e','e','e','e','e','e','e','W','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 15*/ {'e','e','e','e','e','e','e','W','e','W','e','R','e','e','e','R','e','W','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 16*/ {'e','e','e','e','e','e','W','W','e','W','M','e','e','e','e','e','M','W','e','W','W','e','e','e','e','e','e','e','e','e'},
    /* 17*/ {'e','e','e','e','e','e','W','e','e','e','e','e','e','e','e','e','e','e','e','e','W','e','e','e','e','e','e','e','e','e'},
    /* 18*/ {'e','e','e','e','e','e','W','e','e','e','W','e','W','e','W','e','W','e','e','e','W','e','e','e','e','e','e','e','e','e'},
    /* 19*/ {'e','e','e','e','e','e','W','W','W','e','W','e','e','e','e','e','W','e','W','W','W','e','e','e','e','e','e','e','e','e'},
    /* 20*/ {'e','e','e','e','e','e','e','e','W','e','W','W','W','e','W','W','W','e','W','e','e','e','e','e','e','e','e','e','e','e'},
    /* 21*/ {'e','e','e','e','e','e','e','W','W','e','e','e','e','e','e','e','e','e','W','W','e','e','e','e','e','e','e','e','e','e'},
    /* 22*/ {'e','e','e','e','e','e','e','W','e','e','e','e','e','e','e','e','e','e','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 23*/ {'e','e','e','e','e','e','e','W','e','e','W','e','e','e','e','e','e','e','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 24*/ {'e','e','e','e','e','e','e','W','W','W','W','e','e','e','e','e','W','W','W','W','e','e','e','e','e','e','e','e','e','e'},
    /* 25*/ {'e','e','e','e','e','e','e','W','S','S','D','e','e','e','e','e','D','e','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 26*/ {'e','e','e','e','e','e','e','W','S','S','W','W','W','W','W','W','W','e','e','W','e','e','e','e','e','e','e','e','e','e'},
    /* 27*/ {'e','e','e','e','e','e','e','W','W','W','W','e','e','e','e','e','W','W','W','W','e','e','e','e','e','e','e','e','e','e'},
    /* 28*/ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
    /* 29*/ {'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'},
            };I should move these to another file, usually like in C++ or something I would create a txt file or something and use include to include it. But I guess I should use import but I get an error saying my filename is not a package. How can I include this file in my code?
    2) Let's say my big class is called Big. I have a subclass called Levels I want to move out of the Big class.
    Should I create another class file called Levels.java and use import?
    This doesn't seem to work either...

    Number 2 is resolved. So thank you.
    With number one, not to go against your advice of reading in from a file and that is something I may do, but I was trying to get the other way to work first, which as you said involves declaring them as constants.
    I have tried:
    static char [][] Level_1_Board = ....
    char [][] Level_1_Board = ...
    final char [][]Level_1_Board = ...
    final static char [][] Level_1_Board = ...
    all are still code too large.
    But an interesting point maybe someone else can elucidate is that if I do say half the levels as final static char and the other half as just char it works...

  • How do you avoid a code too large for try statement error message while com

    i have the jsp which is having 142 fields
    i am trying to dispaly 142 fields its showing the above error
    at runtime
    i think JVM is not allowing to complie the jsp
    please any body give me the solution for it

    I've got the same error with Weblogic 8.1 .
    When I tried to visit a JSP I wrote, which had many tags, the page showed the error: code too large for try statement.
    I'v reviewed a lot of discussions through the internet and solved the problem at last by adding one parameter to weblogic.xml.
      <jsp-descriptor>
         <jsp-param>
              <param-name>noTryBlocks</param-name>
              <param-value>true</param-value>
         </jsp-param>
      </jsp-descriptor>Hope this may help you out.

  • Code too large Problem

    Hi,
       I am facing the problem of code too large in EP6 SP9 version and EP6 SP2 version. Is there a way to solve this problem.
    Is this problem solved in the latest version EP6 SP12.
    Please help me out in this regard.
    Thanks and Regards
    Padmaja.P

    I had this same problem, JSP code generated is too big.  I had the problem on SP11.  OSS Note 820282 tells you to change the jsp.bigmode.delimit.size = 10000.  This did not work for me.  I opened an OSS note about it.  They told me to set it to "1".  After that, it worked.  I took them 3 weeks to tell me to set it to "1", in the meantime,  I changed my <formlayout> tags to standard HTML,  to get around the problem.  I don't know if SP12 has fixed this issues or not.
    Regards,
    Rich Heilman

  • Compilation Error Code too large for Try block

    I am getting error while jsp compilation.
              code too large for try statement.
              Can anybody help me in this. I am using WL 8.1.4
              Thanks in Advance
              Himanshu

    This article pretty much sums it up: http://www.experts-exchange.com/Web/Web_Languages/JSP/Q_20711819.html
              Your JSP_.java file will not compile to a .class file since the JSP is too large and the newer java compiler is more strict. You have to most likely break your JSP up using includes or use a more efficient design.

  • HELP!!! Error "code too large"

    Hello, I am working on a program that has become very large... and apparently it is too large now...
    When I try to compile the program it generates an error, "code too large", the code has exceeded 10000 lines and now I dont know what to do. Anyone that has any ideas? Thankful for any response...

    Let's say, for instance, that I wnat to initialize an array instance variable that will contain 7462 integer values in my constructor, just as an example. I'm not really sure if this exceeds the maximum size for a java array, but if it does that would be just as useless a restriction as this "code too large" thing. If I write huge code that means I need huge code. [ goes to write program in C, which would be my advice here.  :) ]

Maybe you are looking for

  • Can you play an iPhone through iTunes?

    I can see all my music on my iPhone when I plug it into my Mac at work - running iTunes - but I cannot play any of the music it as it's grayed out? Is there something I need to do to be able to play it - can I do that? -use iTunes to play my iPhone t

  • How to create a response file for Acrobat 9 Pro?

    I with to collect data from a PDF form made with LiveCycle Designer. The instruction say- After a user submits a form, open the returned form. In the Add Completed Form To Responses File dialog box, select one of the following: I am totally baffled a

  • My skype to go number has disappeared off of my ac...

    Hello, I had a skype-to-go number for the past 2 years, but it has disappeared from the account.  How can I reactivate the number?

  • Deploy app.

    Hi. When I try to deploy my app to standalone Weblogic server then I have error: [Deployer:149140]The task cannot be processed further until the current edit session is activated. When this occurs, task processing will continue. The user can exit the

  • Customize virtual consoles

    Hey, I've been reading up on how to setup my virtual consoles with /etc/inittab. I've got a couple switched over to mingetty so that they now automatically login which is great. I'd like to take it a step further and have various virtual consoles run