检查Java web应用程序JSP的编译大小

检查Java web应用程序JSP的编译大小,jsp,tomcat,jstl,scriptlet,Jsp,Tomcat,Jstl,Scriptlet,我遇到过这样的情况:我的JSPservice()方法的运行超出了允许的64k占用空间。我认为,在这个阶段,最明显的答案是“将其缩减为更小的scriptlet,并控制自定义标记的使用”。但我想知道是否可以设置一些作业,例如通过ANT/GRADLE预先编译JSP。这是否有助于确定哪些JSP页面将由于巨大的scriptlet/标记而中断 UPDATE我确实在ant构建文件中定义了jspc编译任务。我假设使用failOnError=false它将进行完整编译。但是我找不到showsucture属性来设置

我遇到过这样的情况:我的JSP
service()
方法的运行超出了允许的64k占用空间。我认为,在这个阶段,最明显的答案是“将其缩减为更小的scriptlet,并控制自定义标记的使用”。但我想知道是否可以设置一些作业,例如通过ANT/GRADLE预先编译JSP。这是否有助于确定哪些JSP页面将由于巨大的scriptlet/标记而中断

UPDATE我确实在ant构建文件中定义了
jspc
编译任务。我假设使用
failOnError=false
它将进行完整编译。但是我找不到
showsucture
属性来设置并打印所有成功消息

原因是我的项目非常庞大,有大约1k个JSP页面。因此,我需要找到一些更便宜的解决方案(或者人工选项,如果您愿意的话)来识别这些受影响的JSP。非常感谢您的任何建议

我将Tomcat8.0.53与Ant和JDK8U125一起使用


KR,

我已经通过

1) 编写一个命令行java应用程序,该应用程序将遍历已编译JSP类文件的列表。 2) 使用ApacheBcel,我将检查文件的每个方法,并将其与64k大小进行比较,以查看哪一个方法已经过了检查。 3) 打印出来

Tomcat类加载是非常独特的,需要tools.jar、ant.jar和ant-launcher.jar来允许antloader进行类加载(因此,ant编译器的使用)。因此,我不得不想出一种不同的方法来确定这个问题


而且,似乎无论我如何配置我的ant构建,在我启动webapp之前,输出都不会抱怨64k大小。我有一个单独的线程在运行

我也有类似的问题,你找到解决方案了吗?没有,我已经预编译了我的JSP作为ant/ivy构建的一部分。但它没有报告任何问题。我希望当不存在编译错误时,会弹出64k内存占用错误。