我刚刚继承的应用程序定义了 .tag 文件——即用 JSP 和其他 JSTL 标签编写的 JSTL 标签。 Tomcat 是否有可能获取对 .tag 文件的更改并在不重新启动的情况下重新编译/重新加载它们,以与 JSP 的“开发”模式相同的方式?
编辑 我应该注意到上下文在 Tomcat 中被标记为“可重新加载”,并且我成功地热部署了类文件和 jsps。它只是不接收 .tag 文件。
最佳答案
JSP 的“开发”模式也适用于标记文件……除非标记文件被打包在一个 jar 文件中(例如,在一个 jar 文件的 /META-INF/tags/
中在 /WEB-INF/lib
中)。
如果标记文件像 JSP 一样被部署(例如在 /WEB-INF/tags/
中),如果“开发”模式是 ,它们将被检查修改并在每次访问时重新加载>真
。您不必明确设置它,因为它在 tomcat 5.5/6 中默认为 true。
如果您检查 $CATALINA_BASE/conf/web.xml
并且“development”未明确设置为 false
但您仍然遇到重新加载 .标记文件(假设这些不是 jar 打包的)你可以尝试关闭标记池(对于 jasper,JspServlet
):
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
...但这真的没有必要。
关于jsp - Tomcat开发模式下重新加载JSTL Tag文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319740/