雖然應用程序重新部署真正的工作目錄是不是真的在默認情況下刪除(這是其中的JBoss保存編譯JSP的),所以重新部署後,可以保留以前編譯JSP類。
在JBoss 5.1中(我不是100%確定它是否在JBoss 4.x中可用),有一個選項可以強制JBoss刪除應用程序的工作目錄 - 重新部署時。您可以在此選項:$ JBOSS_HOME /服務器/ yourInstance /部署者/ jbossweb.deployer/META-INF /戰爭部署者 - 的jboss-beans.xml文件,在該文件中查找該屬性:
<property name="deleteWorkDirOnContextDestroy">true</property>
通過默認它被設置爲false,所以將其設置爲true。也許它可以幫助重新部署時解決您的問題,雖然hotdeployment的成功可能取決於其他類等的依賴。另一方面,當熱部署或重新部署應用程序,使用移動命令(MV),但從來沒有副本(cp)之一,因爲mv是原子的,但不是cp(使用cp時,可以在文件仍在複製時激活熱部署掃描器)。
到熱部署另一種解決方案是手動刪除它,(只推薦用於開發環境),我們使用的命令(以記住你已經在deploy目錄)的下列鏈:
rm yourapp.war; rm -rf ../work/jboss.web/localhost/yourapp;mv <newappversiondir>/yourapp.war .
但請記住,在生產和關鍵環境中的熱部署是強烈不鼓勵。
我已經添加了的jboss-4.2.x版標籤,使版本更加清晰。你可能會使用4.3.0。我不知道爲什麼我們沒有通用的4.x標籤。 4.2與4.0相差甚遠。 –
它的確定,使用JBoss 4.2 – Ziul