2010-07-23 70 views
0

我刚刚继承的应用程序定义了.tag文件 - 即使用JSP和其他JSTL标记编写的JSTL标记。与Tomcat的“开发”模式相同,Tomcat是否可以选择.tag文件进行更改并重新编译/重新加载它们,而无需重新启动?在Tomcat开发模式下重新加载JSTL标记文件

编辑我应该注意到在Tomcat中上下文被标记为“可重载”,并且我成功地热部署了类文件和jsps。它只是没有选择.tag文件。

回答

1

JSP的“开发”模式也适用于标记文件...除非标记文件打包在jar文件中(例如在/WEB-INF/lib的jar文件的/META-INF/tags/中)。

如果标记文件像JSP那样部署(例如在/WEB-INF/tags/中),那么如果“开发”模式为true,它们将在每次访问时检查修改和重新加载。你不应该明确地设置它,因为它在tomcat 5.5/6中是默认的。

如果您检查$CATALINA_BASE/conf/web.xml并且“开发”未明确设置为false,但仍然遇到重新加载.tag文件(假设这些文件不是jar打包的)的问题,您可以尝试关闭标记池(对于碧玉,JspServlet):

<init-param> 
    <param-name>enablePooling</param-name> 
    <param-value>false</param-value> 
</init-param> 

......但这真的不应该是必要的。

+0

谢谢。我相信这是一直在工作,我被所有地方的Cygwin中的某种缓存所困扰:( – 2010-08-16 19:23:11

0

类路径中的库/文件不会在Tomcat中热部署/热载入。据我所知,Glassfish v3是唯一可以做到这一点的人。 Tomcat只能在JSP文件和Java源文件中热部署更改。然而,由于Tomcat是一个非常快速的(重新)启动器(完成时间不到3秒,与Glassfish的30秒相反),手动重新启动应该不是一个主要问题,是吗? hotdeploy本身已经需要大约相同的时间。

相关问题