2010-07-23 41 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本身已經需要大約相同的時間。

相關問題