日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

重新編譯java類,不重啟Tomcat 自動重新加載類

時間:2019-12-16 22:00:37 類型:JAVA
字號:    

當(dāng)我們進行 Web 應(yīng)用開發(fā)時,如果不進行配置,每次修改 Java 類文件都需要重啟服務(wù)器。如何讓服務(wù)器識別到類的更新并自動重新加載呢?其實很簡單。

一、配置方法

對于較新版本(5.5 之后)的 tomcat 服務(wù)器來說,只需要修改 \conf\context.xml 文件,給 Context 標(biāo)簽加上 reloadable="true" 這個屬性即可。比如原來 context.xml 是這個樣子的:

<Context>

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

</Context>

修改之后

<Context reloadable="true">

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

</Context>

二、幾點問題

1.配置 context.xml 后需要重啟服務(wù)器嗎?


tomcat 會定時掃描 context.xml 文件,按理說,一旦發(fā)現(xiàn)文件被修改,就會自動重新加載這個文件,而不需要重啟服務(wù)器 。然而實際上增加 reloadable="true" 這個屬性后,類的自動重載并沒有生效,需要重啟服務(wù)器。


1.什么情況適用自動重新加載?


自動重新加載只對修改現(xiàn)存的 Java 類文件(如 Servlet)有效,創(chuàng)建新的文件是不行的。


2.如何觸發(fā)自動重新加載?


在修改了類的源代碼(.java)后,需要重新編譯得到類文件(.class),并且需要使用客戶端(瀏覽器)訪問該 Web 頁面。對已打開的 Web 頁面,隨意點擊一下即可


<