tomcat替換.class文件並沒有生效的原因(失效原因)(轉)


緊急關頭難免會替換class文件,但一定要注意一下幾點。
1、小心class內中的project 的類的后,替換文件需要加上 $classMapper這個類, 編譯成class的時候,會把public class 中的protected class 編譯為$.class , 所以替換的時候也要找到這個class替換上, 不過對於這中替換,最好是打成war包替換.
2、替換完class,是否需要重啟容器? 例如tomcat7是無需重啟的,但是常量類不再規范的一個類的時候,可能修改了一個類,其他的編譯好的仍然使用原值。
3、 超過5個class,有必要打war包,就不要單次的去替換class文件,不然出了問題還要還原上一個版本。
4、即使不重啟容器,也要把緩存清除,也就是清除tomcat work下的目錄文件。
5、如果替換的class文件中包含常量,但是常量類中的常量值沒有替換,就會出問題。
6、清理tomcat緩存,進入tomcat根目錄,刪除work/catalina 下的所有東西。
7、實在不行,反編譯工具查看(個人補充)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM