Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat编译JSP并不一致地创建帮助器类_Jsp_Tomcat - Fatal编程技术网

Tomcat编译JSP并不一致地创建帮助器类

Tomcat编译JSP并不一致地创建帮助器类,jsp,tomcat,Jsp,Tomcat,我遇到了一个奇怪的问题,我在论坛上找不到任何关于它的信息。我希望其他人也看到了,能给我一些启示 我正在Windows下运行tomcat 6.0。我们的应用程序使用Archibus设施管理系统。对于UI屏幕,Archibus使用自己的自定义XML模式,用户界面代码称为视图文件。在运行时,Archibus将这些视图文件转换为jsp,然后Tomcat将jsp转换为java,然后再转换为类文件 我遇到的情况是,Tomcat没有以一致的方式将jsp文件转换为java文件。通常(当一切正常时),Tomcat

我遇到了一个奇怪的问题,我在论坛上找不到任何关于它的信息。我希望其他人也看到了,能给我一些启示

我正在Windows下运行tomcat 6.0。我们的应用程序使用Archibus设施管理系统。对于UI屏幕,Archibus使用自己的自定义XML模式,用户界面代码称为视图文件。在运行时,Archibus将这些视图文件转换为jsp,然后Tomcat将jsp转换为java,然后再转换为类文件

我遇到的情况是,Tomcat没有以一致的方式将jsp文件转换为java文件。通常(当一切正常时),Tomcat会将selfCertWelcome.jsp转换为3个文件:selfCertMain\u jsp.java、selfCertMain\u jsp.class和selfCertMain\u jsp$helper.class

大约每20次Tomcat都会以不同的方式转换jsp。它创建了2个文件selfCertMain\u jsp.java和selfCertMain\u jsp.class,而不是3个文件。发生这种情况时,selfCertMain_jsp.class似乎将通常放入selfCertMain_jsp$helper.class的代码内联。不幸的是,代码内联时无法正确加载。不会生成错误消息,但屏幕显示为空白(未显示任何内容)

在生产环境中,每晚都会重新启动应用程序服务器,并删除schemaCompiled文件夹。这意味着每天都会重新创建jsp文件。有时,当它们被创建时,会出现这个问题,纠正这个问题的唯一方法是删除jsp文件,让Tomcat重新编译它,希望它能正确地重新编译它

我验证了Archibus创建的jsp文件在出现问题和没有出现问题时是相同的。因此,我非常确定问题在于Tomcat

以前有人见过这样的东西吗?有没有关于如何解决这个问题的建议

提前感谢,,
Matt

您使用的是Sun/Oracle JDK吗?无论如何,在JSP中定义类可能不是最好的主意。是的,我使用的是JDK1.6.023。我没有在JSP中定义类,JSP由Tomcat转换为类文件