最近項目里頻繁遇到了一些奇怪的問題,遂記錄幾個,整理清思路,減少以后類似問題的出現幾率
1) 類改動,編譯成Jar部署后,改動沒有得到體現
~~特征 :即使是增加的System.out.pringln打印語句,或者log日志,依然沒有執(zhí)行
~~分析:
@新部署的類的版本,可能是回退,timestamp明顯低于當前
@新部署的類的版本,可能是從別的地方copy過來,timestamp明顯低于當前
-----------------jdk增量編譯所致
~~特征: 即使反編譯了當前類,和源代碼完全一致
@新部署的類,可能在編譯打包的時候放在了不同的jar包
比如一個類[以JBOSS為server],既被編譯到 [server instance]/[ear]/[jar]也被編譯到[server instance]/[ear]/[war]/WEB-INF/[lib]/[jar]
這個時候,優(yōu)先起作用的是前者,而我們web應用期望是后者
-----------------中間環(huán)節(jié)的不嚴謹所致
2) 文件改動,部署后,依然沒有更新
@依然是時間戳的問題,timestamp明顯低于當前