2010/04/15

JSPのファイルサイズ

JSPでサイズによるコンパイルエラーがおきます。


JSPはServletのメソッドに変換されコンパイルされますが、このときのJSPから変換されたメソッドが65536Byte以下でないと、JasperExceptionが発生します。

java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#88659

この65536Byteというのは、Java VMのメソッドサイズに起因するもので、Java VM仕様ではそのサイズがJavaメソッドの最大サイズとなっています。

jspは以下のようにJavaとしてコンパイルされます。

*.jsp --> *_jsp.java --> *_jsp.class

JSPはServletに変換されるので、その最大サイズはJavaメソッドの最大サイズ以上になるとコンパイルエラーとなるので、JasperExceptionが発生してしまいます。